I have a very simple question. If I have two vector, let's say AA(:) and BB(:), what is between the following options the faster one?
DO i=1,SIZE(AA) AA(i)=BB(i) ENDDO
AA(:) = BB(:)
thanks a lot
Assuming that diedro hasn't set up any EQUIVALENCE or POINTER overlap between these arrays, there's no reason for the generated code to differ (probably a call to an intel_fast_memcpy, in the absence of directives to the contrary). You can't call it a "very simple question" considering that it doesn't make sense in isolation.
AA(:)=BB(:) used to be more likely to provoke an extra copy than AA=BB, but one might hope that such an embarrassment is a thing of the past.
There's a use for the opt-report.