This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc 4.2.4 vs llvm-2.3/llvm-gcc-4.2.1


   The previously posted benchnarks for gcc vs
llvm-gfortran had one mistake. I was actually had
the gfortran for 4.3.1 installed instead of that
from gcc 4.2.4. Below are the polyhedron benchmark
results for all three compilers...

gfortran 4.2.4

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      1.16       10000     18.30      10  0.0866
      aermod     60.57       10000     30.90      10  0.0385
         air      3.34       10000     10.85      10  0.0971
    capacita      1.49       10000     63.58      32  0.1145
     channel      0.81       10000      6.29      10  0.0242
       doduc      5.98       10000     47.94      10  0.0921
     fatigue      3.48       10000     16.00      10  0.0841
     gas_dyn      2.18       10000     22.91      33  0.0779
      induct      6.93       10000     68.95      10  0.0145
       linpk      0.59       10000     31.06      12  0.0591
        mdbx      1.71       10000     14.94      12  0.0504
          nf      0.94       10000     33.98      10  0.0897
     protein      2.89       10000     51.03      10  0.0890
      rnflow      3.43       10000     43.20      11  0.0924
    test_fpu      2.75       10000     15.05      10  0.0736
        tfft      0.46       10000      2.94      14  0.0833

Geometric Mean Execution Time =      22.58 seconds

gfortran 4.3.1

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      3.96       10000     15.74      12  0.0413
      aermod     56.13       10000     34.64      12  0.0530
         air      3.15       10000     10.57      12  0.0700
    capacita      1.67       10000     58.43      23  0.0980
     channel      0.82       10000      3.77      10  0.0763
       doduc      6.41       10000     48.20      10  0.0705
     fatigue      2.55       10000     13.40      10  0.0590
     gas_dyn      2.67       10000     11.09      25  0.0926
      induct      5.10       10000     90.26      10  0.0782
       linpk      1.03       10000     30.20      11  0.0957
        mdbx      1.99       10000     15.47      12  0.0894
          nf      2.30       10000     31.97      12  0.0789
     protein      4.26       10000     50.58      10  0.0867
      rnflow      6.41       10000     42.79      12  0.0772
    test_fpu      5.84       10000     14.11      13  0.0725
        tfft      1.08       10000      2.89      12  0.0940

Geometric Mean Execution Time =      20.64 seconds

llvm-gfortran

Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      0.38       10000     19.33      10  0.0337
      aermod     33.57       10000     22.56      12  0.0205
         air      2.00       10000     11.34      10  0.0489
    capacita      0.65       10000     66.82      30  0.1579
     channel      0.66       10000      4.72      13  0.0949
       doduc      2.30       10000     48.87      10  0.0696
     fatigue      1.18       10000     16.91      10  0.0951
     gas_dyn      1.08       10000     26.84      18  0.0810
      induct      2.33       10000     68.04      10  0.0221
       linpk      0.62       10000     30.30      14  0.0494
        mdbx      1.26       10000     17.62      10  0.0350
          nf      0.67       10000     35.87      10  0.0555
     protein      1.48       10000     57.71      10  0.0866
      rnflow      1.79       10000     47.78      10  0.0487
    test_fpu      1.58       10000     16.88      12  0.0470
        tfft      0.54       10000      3.02      12  0.0545

Geometric Mean Execution Time =      23.04 seconds

The ratio of the execution times for each test with
FSF gfortran to that in llvm-gfortran 4.2.1 are then...

          gfortran     gfortran
          4.2.4        4.3.1

ac        0.947         0.814
aermod    1.36          1.54
air       0.957         0.932
capacita  0.952         0.874
channel   1.33         0.799
doduc     0.981         0.986
fatigue   0.946         0.792
gas_dyn   0.854         0.413
induct    1.01          1.33
linpk     1.03          0.997
mdbx      0.848         0.878
nf        0.947         0.891
protein   0.884         1.06
rnflow    0.904         0.896
test_fpu  0.892         0.836
tfft      0.974         0.957

Interestingly, there appears to be a regression in
the performance of the induct test in gcc 4.3.1
(at least for the -ffast-math -funroll-loops -msse3 -O3
compiler flags). I'll look into this tonight to see
if any of these flags alone can produce this speed
reduction between gfortran 4.2.4 and 4.3.1 on the
induct test.
                   Jack
ps The corrected results do show that llvm-gfortran
4.2.1 isn't performing quite as bad against the same
major release of FSF gfortran. 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]