dsmith wrote:
> The interfaces are basically one-liners saying to pass the two arrays of
> the two derived type arguments to the appropriate subroutine and then
> return the result.
>
> Timing the operations on two different compilers makes it clear that there
> is a performance penalty for using the more convenient derived types. I
> assume that is because calling the subroutines directly uses
> pass-by-reference and using the derived types does copy-in/copy-out.
No, I cannot think of anything that would force copy-in/copy-out for derived
type arguments. How large are these arrays and how costly is the + operation
compared to the overhead of a subroutine call?
Aleks
|