Hello,
Let me add a couple of data points to Bill's post,
and the reply.
Back in the mid-80's, Cray switched from cft
to the new cft77. IIRC, it was a good 5 to 8
years before cft77 was as fast _on vector code_
as cft. (cft77 was faster on most scalar codes
more or less immediately.) This is f77 to f77.
Back in the f77 days, one had vector hardware,
and long vector coding, represented in software as
large arrays in common blocks, was the fastest code around.
Today's hardware uses cache memories, sometimes
several levels. Derived types represent a useful tool
for coding high performance code for use on cache
based systems.
--
Cheers!
Dan Nagle
Purple Sage Computing Solutions, Inc.
On Tue, 7 Aug 2001 09:47:36 +0100, Herbert Fruchtl
<[log in to unmask]> wrote:
>> I'll assume that the real contention is that f95 compilers generate less
>> efficient code than f77 compilers for the same f77 style source file.
>
>I haven't seen this behavior in any compiler I use in years. The problem
>is rather that "modern" programming practices are penalized in comparison
>to F77-style approaches. In some cases this is unavoidable (with pointer
>arrays, the compiler HAS to be more cautious), but why sum, dot_product,
>matmul and array syntax are often slower than writing out the loops is
>beyond me. It's probably just that there are 30 years of experience in
>speeding up loops, while optimizing the newer constructs is often lower
>priority (because nobody uses them, because they are to slow, ...).
>
> Herbert
|