executing: time ./xgraph examples/benching.xg 2>/dev/null
GetFont(legendFont): finding suitable default 4500 mu high "-adobe-palatino-bold-r-normal--14-100-100-100-p-81-iso8859-1" (set -db-3 option for more details)
GetFont(labelFont): finding suitable default 5000 mu high "-adobe-palatino-bold-r-normal--17-120-100-100-p-91-iso8859-1"
GetFont(titleFont): finding suitable default 4500 mu high "-adobe-palatino-bold-r-normal--14-100-100-100-p-81-iso8859-1"
GetFont(axisFont): finding suitable default 4175 mu high "-b&h-lucidabright-demibold-r-normal--12-120-75-75-p-71-iso8859-1"
GetFont(dialogFont): finding suitable default 4175 mu high "-b&h-lucida-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1"
xgraph: can't get dialog_greek font matching dialogFont (-b&h-lucida-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1)
GetFont(fbFont): finding suitable default 4000 mu high "-adobe-new century schoolbook-medium-r-normal--10-100-75-75-p-60-iso8859-1"
Current file: examples/benching.xg: Sun Jan 25 00:36:16 2004
A collection of timing benchmarks. Can take quite a while to complete, and doesn't generate
overly nice output! Performance measured in bogoflops, <err> I mean seconds :)
Current xgraph info:
 xgraph examples/benching.xg
 XGraph build version 20040311; gcc2.95[Mar 11 2004 20:19:40,"CYGWIN_95-4.0 MIRAGE 1.3.2(0.39/3/2) i586 ; CC='gccopt -DXGRAPH ' ACC='gccopt -DXGRAPH '"]
 Executed d.d. Mon Mar 15 13:08:27 2004
 Input files: 'examples/benching.xg: Sun Jan 25 00:36:16 2004' 
 Working directory: /cygdrive/d/users/bertin/work/src/xgraph
 Last opened on display spin:0.0/-1/-1 (visual 0x38, 24 planes TrueColor) by bertin


1.00000e+06 times empty loop took 0.440000(real)/0.441000(user) sec [2.27273e+06R/2.26757e+06U]l/s seconds
1.00000e+06 times looping empty procedure took 1.04000(real)/1.02400(user) sec [961539R/976563U]l/s seconds
1.00000e+06 times looping empty procedure took 1.05000(real)/1.06000(user) sec [952381R/943396U]l/s seconds
Calibrating adapted loop size (should be 1s)... 952380 times looping empty procedure took 0.930000(real)/0.920000(user) sec [1.02406e+06R/1.03520e+06U]l/s seconds

timing of addition of 2 arrays, either with a for-toMAX[] loop construct (scalar addition), or
with (internal) array addition. The latter is done 10x to increase the reliability of the measured
duration. Procedures are used to ensure that the code is executed from compiled representations
(*EVAL* would not automatically compile the array-addition test procedure [test2]).
On a PIII 450Mhz (linux), test1 completes in around 5.8s, test2 almost instantly (3.94959e-04s)

Addition of 2 [952380] arrays in a scalar-addition loop, without support for simple array arithmetic: 4.45000(real)/4.45000(user) sec [214018R/214018U]l/s
	Result z==2  0
Addition of 2 [952380] arrays in a scalar-addition loop, with support for simple array arithmetic: 4.89000(real)/4.86500(user) sec [194761R/195762U]l/s
	Result z==2  0
Addition of 2 [952380] arrays with scalar-addition and Apply2Array, without support for simple array arithmetic: 3.35000(real)/3.35000(user) sec [284293R/284293U]l/s
	Result z==2  0
Addition of 2 [952380] arrays with scalar-addition and Apply2Array, with support for simple array arithmetic: 4.06000(real)/4.07000(user) sec [234576R/234000U]l/s
	Result z==2  0
Addition of a scalar to a [952380] array with scalar-addition, without support for simple array arithmetic: 4.23000(real)/4.24900(user) sec [225149R/224142U]l/s
	Result z==476191  274929
Addition of a scalar to a [952380] array with scalar-addition, with support for simple array arithmetic: 4.61000(real)/4.57600(user) sec [206590R/208125U]l/s
	Result z==476191  274929
Addition of a scalar to a [952380] array with scalar-addition and Apply2Array, without support for simple array arithmetic: 0.330000(real)/0.359000(user) sec [2.88600e+06R/2.65287e+06U]l/s
	Result z==476191  274929
Addition of a scalar to a [952380] array with scalar-addition and Apply2Array, with support for simple array arithmetic: 0.540000(real)/0.554000(user) sec [1.76367e+06R/1.71910e+06U]l/s
	Result z==476191  274929
10x array[952380] addition without support for simple array arithmetic, array addition (add[&z,&x,&y]): 0(real)/0(user) sec [InfR/InfU]l/s
	Result z==0  0
10x array[952380] addition with support for simple array arithmetic, array addition (add[&z,&x,&y]): 1.10000(real)/1.05300(user) sec [865800R/904445U]l/s
	Result z==2  0
952380x array[10] addition with support for simple array arithmetic, array addition: 4.55000(real)/4.53500(user) sec [209314R/210007U]l/s
	Result zz==5.50000  3.02765
10x array[952380] multiplication with support for simple array arithmetic, array addition (mul[&z,&x,&y]): 1.10000(real)/1.07900(user) sec [865800R/882651U]l/s
	Result z==1  0
952380x array[10] multiplication with support for simple array arithmetic, array addition: 4.67000(real)/4.66400(user) sec [203936R/204198U]l/s
	Result zz==4.50000  3.02765
10x array[952380] division with support for simple array arithmetic, array addition (div[&z,&x,&y]): 1.26000(real)/1.25500(user) sec [755857R/758869U]l/s
	Result z==1  0
952380x array[10] division with support for simple array arithmetic, array addition: 4.72000(real)/4.70000(user) sec [201776R/202634U]l/s
	Result zz==4.50000  3.02765
procedure calling overhead compared to functions, $UseConstantsLists=1
952380 times v1,v2: 0.720000(real)/0.711000(user) sec [1.32275e+06R/1.33949e+06U]l/s
952380 times v1[v2],v2[v1]=120,120: 0.990000(real)/0.984000(user) sec [962000R/967866U]l/s
952380 times v[0],v[1]: 1.42000(real)/1.39400(user) sec [670690R/683200U]l/s
952380 times v[0,v1],v[1,v2]=100,120: 1.76000(real)/1.75500(user) sec [541125R/542667U]l/s
952380 times v[0,v1,v2]=100,120: 1.76000(real)/1.76000(user) sec [541125R/541125U]l/s
952380 times empty=0: 0.930000(real)/0.935000(user) sec [1.02406e+06R/1.01859e+06U]l/s
952380 times empty[v1,v2]=0: 1.49000(real)/1.50200(user) sec [639181R/634075U]l/s
952380 times add[v1,v2]=220: 2.14000(real)/2.10900(user) sec [445037R/451579U]l/s
952380 times add[v[0],v[1]]=220: 2.52000(real)/2.54000(user) sec [377929R/374953U]l/s
952380 times call[&add,v1,v2]=220: 2.42000(real)/2.39900(user) sec [393546R/396991U]l/s
952380 times sumvv=220: 3.57000(real)/3.58000(user) sec [266773R/266028U]l/s
952380 times sum[v1,v2]=220: 4.72000(real)/4.74700(user) sec [201776R/200628U]l/s
952380 times call[&sum,v1,v2]=220: 7.42000(real)/7.39000(user) sec [128353R/128874U]l/s
952380 times call[lambda[add[$[0],$[1]]],v1,v2]=220: 7.41000(real)/7.39500(user) sec [128526R/128787U]l/s
952380 times sum[v1,ran]=100.377: 6.92000(real)/6.92300(user) sec [137627R/137568U]l/s
952380 times call[&sum,v1,ran]=100.905->100.145: 10.1100(real)/10.1390(user) sec [94201.8R/93932.4U]l/s

Comparing the special 2-D indexing function 2Dindex to nDindex

952380 times 2Dindex[1,2,3,4]: 2.69000(real)/2.69000(user) sec [354045R/354045U]l/s
952380 times nDindex[1,2,3,4]: 2.74000(real)/2.76700(user) sec [347584R/344192U]l/s
952380 times @[&zz,$loop]==-123.456: 2.69000(real)/2.64300(user) sec [354045R/360341U]l/s
952380 times @[`"1234567890"]==2.12044e+10 2.48000(real)/2.46500(user) sec [384024R/386361U]l/s

Some loops to time the effect of $UseConstantsLists (and the '?' last-value operator):

952380 times 'progn[2,add[2,kk]]' took 3.68000(real)/3.69500(user) sec [258799R/257748U]l/s seconds with $UseConstantsLists=0
952380 times 'progn[2,?add,?ran]' took 2.36000(real)/2.30900(user) sec [403551R/412464U]l/s seconds with $UseConstantsLists=0
952380 times 'progn[2,add[2,kk]]' took 3.57000(real)/3.54500(user) sec [266773R/268655U]l/s seconds with $UseConstantsLists=1
952380 times 'progn[2,?add,?ran]' took 2.14000(real)/2.17700(user) sec [445037R/437474U]l/s seconds with $UseConstantsLists=1
952380 times 'var[foo[?ran]]'=0.157874 took 3.18000(real)/3.21500(user) sec [299491R/296230U]l/s seconds with $UseConstantsLists=0
952380 times 'var[foo[?ran]]'=0.157874 took 1.04000(real)/1.07600(user) sec [915750R/885112U]l/s seconds with $UseConstantsLists=1
952380 times 'var'=0 took 0.820000(real)/0.805000(user) sec [1.16144e+06R/1.18308e+06U]l/s seconds with $UseConstantsLists=0
952380 times 'var'=0 took 0.660000(real)/0.649000(user) sec [1.44300e+06R/1.46746e+06U]l/s seconds with $UseConstantsLists=1
952380 times 'var[$loop]'=952379 took 2.03000(real)/2.03900(user) sec [469153R/467082U]l/s seconds with $UseConstantsLists=0
952380 times 'var[$loop]'=952379 took 0.770000(real)/0.789000(user) sec [1.23686e+06R/1.20707e+06U]l/s seconds with $UseConstantsLists=1
952380 times 'var[foo[$loop]]'=952379 took 3.24000(real)/3.28500(user) sec [293945R/289918U]l/s seconds with $UseConstantsLists=0
952380 times 'var[foo[$loop]]'=952379 took 1.10000(real)/1.10500(user) sec [865800R/861882U]l/s seconds with $UseConstantsLists=1
952380 times 'var[foo[bar[$loop]]]'=952379 took 4.50000(real)/4.48000(user) sec [211640R/212585U]l/s seconds with $UseConstantsLists=0
952380 times 'var[foo[bar[$loop]]]'=952379 took 2.31000(real)/2.29500(user) sec [412286R/414980U]l/s seconds with $UseConstantsLists=1
317460 times stats-test1 (ss10=8.022165.77860 ; sas10=4.012355.77860): 
	took 3.57000(real)/3.58500(user) sec [266773R/265657U]l/s seconds with $UseConstantsLists=0
317460 times stats-test2 (ss11=19.977114.6977 ; sas11=9.9863214.6977): 
	took 5.11000(real)/5.09000(user) sec [186376R/187108U]l/s seconds with $UseConstantsLists=0
Ratios (should be 2.5): ss11/ss10=2.490242.54348 ; sas11/sas10=2.488902.54348
Now doing the same, using Apply2Array and array-passing:
317460 times stats-test3 (ss10=7.979165.76558 ; sas10=3.987695.76558): 
	took 2.47000(real)/2.46000(user) sec [385579R/387146U]l/s seconds with $UseConstantsLists=0
317460 times stats-test4 (ss11=19.997714.7346 ; sas11=9.9913714.7346): 
	took 3.51000(real)/3.53000(user) sec [271333R/269796U]l/s seconds with $UseConstantsLists=0
Ratios (should be 2.5): ss11/ss10=2.506242.55561 ; sas11/sas10=2.505552.55561
317460 times stats-test1 (ss10=7.988005.76777 ; sas10=3.991975.76777): 
	took 3.68000(real)/3.70500(user) sec [258799R/257053U]l/s seconds with $UseConstantsLists=1
317460 times stats-test2 (ss11=20.004714.7273 ; sas11=10.001414.7273): 
	took 5.11000(real)/5.10000(user) sec [186376R/186741U]l/s seconds with $UseConstantsLists=1
Ratios (should be 2.5): ss11/ss10=2.504352.55338 ; sas11/sas10=2.505382.55338
Now doing the same, using Apply2Array and array-passing:
317460 times stats-test3 (ss10=8.021295.77756 ; sas10=4.010245.77756): 
	took 2.47000(real)/2.46500(user) sec [385579R/386361U]l/s seconds with $UseConstantsLists=1
317460 times stats-test4 (ss11=20.065314.7057 ; sas11=10.025014.7057): 
	took 3.52000(real)/3.54000(user) sec [270563R/269034U]l/s seconds with $UseConstantsLists=1
Ratios (should be 2.5): ss11/ss10=2.501502.54532 ; sas11/sas10=2.499862.54532
expression-loops per second (61 samples):
	952380/2.86984=331859 (real time)
	952380/2.86838=332028 (user time)
