[Harbour] 2008-10-03 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

Przemyslaw Czerpak druzus at acn.waw.pl
Fri Oct 3 17:27:01 EDT 2008


On Fri, 03 Oct 2008, Szak�ts Viktor wrote:

Hi Viktor,

> P4 2.66/800 HT, XP, MSVS2008 -gc3:

I guess that HT means Hyper Thread CPU with two cores.
Am I right?

> 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

Thank you for your tests. Just a small question.
Is the 1-st and 2-nd column for ST HVM or is it also MT HVM and only
speedtst was run without additional parameter so all tests were executed
by single thread only?

best regards
Przemek


More information about the Harbour mailing list