Hi Przemek,
[resent to avoid line wrapping]
P4 2.66/800 HT, XP, MSVS2008 -gc3:
Startup loop to increase CPU clock...
10/03/08 22:23:07 Windows XP 5.1.2600 Service Pack 3
Harbour 1.1.0dev (Rev. 9539) (MT) Microsoft Visual C 15.0.26569 (32 bit)
N_LOOPS = 1000000
speedtst
-gc0 -gc3 -gc0 -gc3
MT MT
-----------------------------------------------------------------------
[ empty loop overhead ]....................0.13 ...0.03 ...0.09 ...0.06
=============================================== ======= ======= =======
[ x := L_C ]...............................0.20 ...0.13 ..29.09 ...5.27
[ x := L_N ]...............................0.05 ...0.05 ..11.69 ...1.53
[ x := L_D ]...............................0.02 ...0.03 ..16.94 ...3.92
[ x := S_C ]...............................0.17 ...0.14 ..27.41 ...5.06
[ x := S_N ]...............................0.06 ...0.03 ..26.14 ...3.95
[ x := S_D ]...............................0.05 ...0.00 ..23.11 ...4.23
[ x := M_C ]...............................0.20 ...0.11 ..24.00 ...6.58
[ x := M_N ]...............................0.00 ...0.13 ..19.19 ...6.88
[ x := M_D ]...............................0.06 ...0.05 ..23.89 ...4.41
[ x := P_C ]...............................0.22 ...0.13 ..35.14 ..12.75
[ x := P_N ]...............................0.03 ...0.08 ..36.55 ...4.50
[ x := P_D ]...............................0.06 ...0.02 ..23.91 ...5.83
[ x := F_C ]...............................0.77 ...0.39 ..55.25 ..41.00
[ x := F_N ]...............................0.55 ...0.30 ..47.52 ..23.03
[ x := F_D ]...............................0.23 ...0.08 ..24.73 ...7.06
[ x := o:GenCode ].........................0.53 ...0.16 ..38.81 ..19.94
[ x := 0 ].................................0.02 ...0.06 ..20.70 ...1.67
[ round( i / 1000, 2 ) ]...................0.64 ...0.47 ..43.63 ..23.92
[ str( i / 1000 ) ]........................1.61 ...1.27 ..81.23 ..53.89
[ val( s ) ]...............................0.80 ...0.78 ..39.22 ..28.03
[ val( a [ i % 16 + 1 ] ) ]................1.53 ...1.39 ..55.86 ..32.16
[ dtos( d - i % 10000 ) ]..................1.56 ...1.14 ..93.64 ..60.39
[ eval( { || i % 16 } ) ]..................2.53 ...2.06 .104.80 ..77.70
[ eval( bc := { || i % 16 } ) ]............0.83 ...0.83 ..53.44 ..14.50
[ eval( { |x| x % 16 }, i ) ]..............1.73 ...1.42 ..99.72 ..62.42
[ eval( bc := { |x| x % 16 }, i ) ]........0.88 ...0.78 ..46.69 ..12.03
[ eval( { |x| f1( x ) }, i ) ].............1.81 ...1.63 .102.41 ..58.31
[ eval( bc := { |x| f1( x ) }, i ) ].......0.45 ...0.80 ..56.55 ..11.64
[ x := &( "f1(" + str(i) + ")" ) ].........3.81 ...9.55 .149.52 .112.41
[ bc := &( "{|x|f1(x)}" ); eval( bc, i ) ..9.13 ..12.36 .150.80 .116.25
[ x := valtype( x ) + valtype( i ) ]......1.00 ...0.94 ..88.27 ..56.63
[ x := strzero( i % 100, 2 ) $ a[ i % 16 ..1.59 ...1.58 ..95.48 ..69.97
[ x := a[ i % 16 + 1 ] == s ]..............0.70 ...0.73 ..46.44 ..24.19
[ x := a[ i % 16 + 1 ] = s ]...............0.73 ...0.70 ..56.73 ..27.17
[ x := a[ i % 16 + 1 ] >= s ]..............0.83 ...0.88 ..52.41 ..27.44
[ x := a[ i % 16 + 1 ] <= s ]..............0.94 ...0.84 ..53.38 ..26.97
[ x := a[ i % 16 + 1 ] < s ]...............0.73 ...0.92 ..54.41 ..27.22
[ x := a[ i % 16 + 1 ] > s ]...............0.78 ...0.70 ..54.78 ..27.38
[ ascan( a, i % 16 ) ].....................0.50 ...0.72 ..48.84 ..25.19
[ ascan( a, { |x| x == i % 16 } ) ]........6.92 ...6.58 .119.34 ..82.98
[ if i%1000==0;a:={};end; aadd(a,{i,1,.T...3.09 ...2.92 .126.52 ..89.03
[ x := a ].................................0.14 ...0.17 ..28.50 ..13.97
[ x := {} ]................................0.77 ...0.55 ..90.13 ..62.22
[ f0() ]...................................0.09 ...0.11 ..29.58 ..13.09
[ f1( i ) ]................................0.14 ...0.13 ..45.97 ..13.61
[ f2( c[1...8] ) ].........................0.31 ...0.28 ..44.81 ..18.41
[ f2( c[1...40000] ) ].....................0.28 ...0.23 ..28.41 ..17.34
[ f2( @c[1...40000] ) ]....................0.27 ...0.22 ..44.02 ..19.08
[ f2( @c[1...40000] ), c2 := c ]...........0.27 ...0.23 ..41.41 ..16.81
[ f3( a, a2, s, i, s2, bc, i, n, x ) ].....0.95 ...0.89 ..45.78 ..25.56
[ f2( a ) ]................................0.38 ...0.33 ..45.08 ..14.23
[ x := f4() ]..............................1.61 ...1.28 ..94.91 ..58.11
[ x := f5() ]..............................0.70 ...0.55 ..96.70 ..49.44
=============================================== ======= ======= =======
[ total application time: ]...............61.00 ..60.50 .154.64 .123.61
[ total real time: ]......................57.73 ..51.34 ..78.61 ..63.39
Brgds,
Viktor
On 2008.10.03., at 21:53, Przemyslaw Czerpak wrote:
2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- harbour/tests/speedtst.prg
+ harbour/tests/speedold.prg
* renamed old speed test - I left it because some other xbase
compiler
cannot compiple the new one due to not Clipper compatible PP
+ harbour/tests/speedtst.prg
* added new speed test which can also measure mutlithread
performance.
When linked with MT HVM version then it can be executed with
optional
parameter which causes that each test loop is executed by separate
thread. Please make such tests on different platforms.
best regards
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour