some benchmarks

Jerry DeLisle jvdelisle@verizon.net
Sun Nov 27 18:50:00 GMT 2005


Jack Howarth wrote:
>     Since gcc 4.1 is building on Darwin again, I decided to benchmark
> it performance at -O3 in the xplor-nih testsuite versus the current
> Fortran XL compiler with full -O5 optimizations. Here are the results
> which are a tad discouraging.
> 
>                   execution time in seconds
> 
>                       xlf       gfortran 
> vdwoff..........ok   0.3300	0.5391
> carboncshift....ok   0.2500	0.9729
> codetest........ok   0.1500	0.4102
> cooriotes.......ok   0.1700 	0.5054
> cormantes.......ok   0.1800	0.5023
> couplings.......ok   0.1700	0.5653
> cv_dihed........ok   0.1600	0.4434
> dgtest1.........ok   0.3300	1.2195
> dgtest2.........ok   0.3200	0.6923
> dgtest3.........ok   0.1700 	0.4506
> dgtest4.........ok   0.3100  	0.5988
> drigid1.........ok   0.1700	0.4145
> drigid2.........ok   0.1700 	0.4118
> drigid3.........ok   0.4600	0.7575
> dsearch.........ok   4.7100 	4.2939
> dsele...........ok   0.1800 	0.4809
> duplicate.......ok   0.1800	0.4685
> dynanltes.......ok   0.5200	0.8646
> dyniotest.......ok   0.2300	0.6193
> dyntest2........ok   0.3400	0.8014
> dyntest3........ok   0.2100	0.5039
> egrouptes.......ok   0.1900	0.5074
> enertest........ok   0.2000	0.5025
> evaluate........ok   0.1500	0.3840
> grid............ok   0.6300	1.1102
> hbondtest.......ok   0.1600	0.4481
> hbuildtes.......ok   0.1900	0.4759
> ictest..........ok   0.1700	0.4245
> lang1test.......ok   0.2700	0.6199
> lang2test.......ok   0.1500	0.3881
> mrigid..........ok   0.2300	0.5395
> mvectortes......ok   0.1700	0.4173
> nbforceshift....ok   0.2400	0.6567
> noetest.........ok   0.1800	0.4619
> noetest2........ok   0.2800	0.6270
> noetest3........ok   0.1700	0.4390
> noetest4........ok   0.6500	1.4633
> noetest5........ok   0.3200	0.6835
> noetest6........ok   0.1700	0.4353
> onebcoupling....ok   0.1600	0.4089
> orient1.........ok   1.3300	4.3440
> orient2.........ok   1.8400	6.4925
> packing.........ok   0.3000     0.6267
> param1..........ok   0.2000	0.5213
> param2..........ok   0.3100	0.8376
> param3..........ok   0.1800	0.4791
> param4..........ok   0.1700     0.4589 
> param5..........ok   0.1500	0.3939
> param6..........ok   0.1900	0.4864
> pariotest.......ok   0.1500	0.3784
> parsertest......ok   0.2000	0.4553
> patchtest.......ok   0.1700	0.4431
> picktest........ok   0.1800	0.4618
> plancons........ok   0.1800	0.4717
> powelltes.......ok   0.2600	0.5847
> protoncshift....ok   0.1700	0.4621
> protoncshift2...ok   0.3400	1.1532
> psftest.........ok   0.1700	0.4718
> qrmtest.........ok   0.1900	0.4743
> rama............ok   3.4000	6.2681
> rama_quarts.....ok   6.4300	13.8438
> refltest........ok   0.1500	0.3997
> restncs.........ok   0.4200	0.7813
> rnasetest.......ok   0.6900	1.0777
> rotman..........ok   0.1500	0.3820
> rsearch.........ok   0.5500	0.9553
> rtfiotest.......ok   0.1500 	0.3935
> rxcv............ok   0.6400	1.1023
> rxfinite........ok   0.5500	0.9020
> rxmini..........ok   0.6200	0.8702
> rxmmini.........ok   0.7800	1.0414
> rxspectrum......ok   0.1600	0.4002
> sbound..........ok   0.1900	0.4629
> skel4...........ok   0.3200	0.7539
> strictncs.......ok   0.8000	1.0838
> surftest........ok   0.2100	0.4723
> symbols.........ok   0.1600	0.4152
> tconnect........ok   0.1500	0.3849
> test............ok   0.1900	0.4803
> test_ratt.......ok   0.2000	0.5877
> testcons........ok   0.1800	0.4647
> testensemble....ok   0.1900	0.4813
> testfirs........ok   0.2000	0.4814
> testpowe........ok   0.1800	0.4567	
> testsel2........ok   0.2200	0.5511
> testvol.........ok   0.1500	0.3747
> tipstest1.......ok   0.1800	0.4252
> toppar19........ok   0.1900	0.4835
> topparnah.......ok   0.1900	0.4662
> torsiontest2....ok   0.1700	0.4138
> torsiontest3....ok   0.5300	0.8356
> tsearch.........ok   0.5100	0.7638
> vectorid........ok   0.1500	0.3875
> vectortes.......ok   0.1500	0.3985
> xanom...........ok   0.2500	0.5320
> xasymm..........ok   0.2000	0.4286
> xcvtest.........ok   0.7600	1.2788
> xdeclare........ok   0.1700	0.4196
> xdo.............ok   0.7900	1.0336
> xdo2............ok   0.3000	0.5859
> xdo3............ok   0.3200	0.6023
> xdo4............ok   0.4400	0.9470
> xdofft..........ok   0.4900	0.8207
> xdofft2.........ok   0.2400	0.5079
> xdoscale........ok   0.3400	0.6803
> xfftest.........ok   0.2200	0.4921
> xfinite.........ok   0.1900	0.4377
> xgenerate.......ok   0.1800	0.4261
> xmap............ok   0.2200	0.5404
> xmaverage.......ok   0.6100	1.2126
> xmphist.........ok   0.2300	0.6826
> xmread..........ok   0.2400	0.6221
> xpack...........ok   0.1800	0.4595
> xpat............ok   0.3600	0.6537
> xpeakpik........ok   0.3700	0.5716
> xpred...........ok   0.3400	0.5975
> xprobab.........ok   0.3900	0.8213
> xprox...........ok   0.2900	0.6205
> xrama...........ok   0.5000	2.6611
> xreduce.........ok   0.1500	0.3844
> xrefin..........ok   1.0400	1.2132
> xrefin2.........ok   0.7900	1.0606
> xrefio..........ok   0.1600	0.3914
> xroptff.........ok   0.3800	0.6017
> xropti..........ok   0.9900	1.1429
> xscale..........ok   0.9600	1.3260
> xsolmask........ok   0.3300	0.6642
> xstats..........ok   0.3300	0.6238
> xsymm...........ok   0.1500	0.3806
> xtarget.........ok   6.6000	6.0481
> gborn...........ok   0.2200	0.5666
> hbda............ok   0.2300	0.5721
> pmagtest........ok   0.2600	0.5996
> paraRestr.......ok   0.2700	0.6172
> hbdb............ok   4.0600	6.8734
> hbdb2...........ok   4.0000	6.8356
> ivm1............ok   0.1900	0.4509
> ivm2............ok   0.6500	1.1168
> dipCoup.........ok   0.7200	1.2651
> sani............ok   1.3700	2.4823
> isac............ok   1.3000	2.4297
> 
> Overall the xlf -O5 build outperforms the gfortran -O3 build by
> a factor of two however some individual test can be as bad as a
> factor of 4 or 5.
>                Jack
> 

This kind of test data can be very useful.

Can you also try this with -O3 -funroll-loops?  Also, the next step might be to 
do some profiling and see where it is spending time.

Jerry



More information about the Fortran mailing list