The following are results for two compilers we use.
The tests include John Bray's suggestion of array_sum3(x,s):
1. LF95 on a 400MHz Wintel box
f77 loop, contiguous array, sum =32831.363300 time = 1.036057
f77 loop, stride 2x2 array, sum =32831.363300 time = 1.314553
f90 loop, contiguous array, sum =32831.363300 time = 0.943559
f90 loop, stride 2x2 array, sum =32831.363300 time = 1.538168
f90 SUM(contgiguous array), sum =32831.367200 time = 0.890322
f90 SUM(stride 2x2 array), sum =32831.367200 time = 1.527924
2. Compaq Fortran V7.2-780 on an AXP 275 MHz box:
f77 loop, contiguous array, sum =32850.292969 time = 2.000000
f77 loop, stride 2x2 array, sum =32850.292969 time = 3.840000
f90 loop, contiguous array, sum =32850.292969 time = 2.000000
f90 loop, stride 2x2 array, sum =32850.292969 time = 3.570000
f90 SUM(contgiguous array), sum =32850.292969 time = 1.820000
f90 SUM(stride 2x2 array), sum =32850.292969 time = 3.330000
Regards,
Graham Kipp
Principal Engineer, Reliability and Market Models
VENCorp
Email: [log in to unmask]
Phone: (613) 9481 9296
Mobile: 0418 610 898
Fax: (613) 9481 9123
> -----Original Message-----
> From: Friedrich Hertweck [mailto:[log in to unmask]]
> Sent: Thursday, June 01, 2000 7:45 PM
> To: Van Snyder
> Cc: [log in to unmask]
> Subject: Re: What do compilers do about assumed-shape dummy arguments?
>
<snip>
>
> Below is a program that does a very simple thing: add the
> values of an array and
> return it.
> There are four versions of subroutines to do this:
>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|