Hi All,

In summary with 4.5 there is a 7-8% speed increase 
compared to 4.4.4 in 64-bit mode and C++ doesn't 
give any speed advantage here. Binary sizes are 
similar, sometimes a big larger sometimes a bit 
smaller.

I've included BCC55 for comparison. It's running 
at half the overall speed compared to 4.5 64-bit.

---
2010.03.19 Windows 7 6.1.7600
THREADS: 0
N_LOOPS: 1000000

[1] Harbour 2.1.0dev (Rev. 14188) MinGW GNU C 4.5 (64-bit) x86-64
[2] Harbour 2.1.0dev (Rev. 14189) MinGW GNU C++ 4.5 (64-bit) x86-64
[3] Harbour 2.1.0dev (Rev. 14130) MinGW GNU C 4.4.4 (64-bit) x86-64
[4] Harbour 2.1.0dev (Rev. 14178) Borland C++ 5.5.1 (32-bit) x86

                                                                 [1]    [2]    
[3]    [4]
[ T000: empty loop overhead ]...................................0.02 ..0.02 
..0.02 ..0.05
==================================================================== ====== 
====== ======
[ T001: x := L_C ]..............................................0.02 ..0.02 
..0.03 ..0.02
[ T002: x := L_N ]..............................................0.00 ..0.02 
..0.02 ..0.02
[ T003: x := L_D ]..............................................0.00 ..0.00 
..0.00 ..0.02
[ T004: x := S_C ]..............................................0.02 ..0.03 
..0.03 ..0.05
[ T005: x := S_N ]..............................................0.03 ..0.02 
..0.05 ..0.03
[ T006: x := S_D ]..............................................0.02 ..0.03 
..0.02 ..0.03
[ T007: x := M->M_C ]...........................................0.02 ..0.02 
..0.03 ..0.05
[ T008: x := M->M_N ]...........................................0.03 ..0.03 
..0.05 ..0.05
[ T009: x := M->M_D ]...........................................0.02 ..0.02 
..0.03 ..0.03
[ T010: x := M->P_C ]...........................................0.03 ..0.03 
..0.03 ..0.05
[ T011: x := M->P_N ]...........................................0.03 ..0.02 
..0.03 ..0.03
[ T012: x := M->P_D ]...........................................0.02 ..0.02 
..0.03 ..0.05
[ T013: x := F_C ]..............................................0.09 ..0.09 
..0.11 ..0.14
[ T014: x := F_N ]..............................................0.14 ..0.11 
..0.11 ..0.17
[ T015: x := F_D ]..............................................0.06 ..0.05 
..0.06 ..0.09
[ T016: x := o:Args ]...........................................0.08 ..0.08 
..0.09 ..0.14
[ T017: x := o[2] ].............................................0.03 ..0.05 
..0.05 ..0.09
[ T018: round( i / 1000, 2 ) ]..................................0.09 ..0.11 
..0.11 ..0.17
[ T019: str( i / 1000 ) ].......................................0.27 ..0.22 
..0.23 ..0.55
[ T020: val( s ) ]..............................................0.11 ..0.11 
..0.11 ..0.22
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.17 ..0.16 
..0.19 ..0.38
[ T022: dtos( d - i % 10000 ) ].................................0.16 ..0.17 
..0.19 ..0.33
[ T023: eval( { || i % 16 } ) ].................................0.20 ..0.22 
..0.23 ..0.30
[ T024: eval( bc := { || i % 16 } ) ]...........................0.11 ..0.14 
..0.13 ..0.20
[ T025: eval( { |x| x % 16 }, i ) ].............................0.16 ..0.17 
..0.17 ..0.27
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.11 ..0.13 
..0.14 ..0.22
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.22 ..0.20 
..0.23 ..0.33
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.16 ..0.14 
..0.19 ..0.28
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.17 ..0.19 
..0.19 ..0.28
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................1.34 ..1.41 
..1.33 ..2.42
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................1.58 ..1.66 
..1.55 ..3.08
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.17 ..0.17 
..0.22 ..0.34
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.30 ..0.30 
..0.33 ..0.64
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.11 ..0.11 
..0.13 ..0.23
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.13 ..0.11 
..0.13 ..0.27
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.13 ..0.13 
..0.14 ..0.27
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.13 ..0.13 
..0.14 ..0.27
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.13 ..0.13 
..0.14 ..0.27
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.13 ..0.11 
..0.14 ..0.27
[ T040: ascan( a, i % 16 ) ]....................................0.16 ..0.16 
..0.16 ..0.25
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................1.23 ..1.28 
..1.41 ..2.34
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.36 ..0.36 
..0.44 ..0.72
[ T043: x := a ]................................................0.02 ..0.02 
..0.02 ..0.05
[ T044: x := {} ]...............................................0.05 ..0.05 
..0.06 ..0.09
[ T045: f0() ]..................................................0.03 ..0.03 
..0.05 ..0.03
[ T046: f1( i ) ]...............................................0.06 ..0.06 
..0.08 ..0.09
[ T047: f2( c[1...8] ) ]........................................0.05 ..0.05 
..0.06 ..0.08
[ T048: f2( c[1...40000] ) ]....................................0.05 ..0.05 
..0.05 ..0.08
[ T049: f2( @c[1...40000] ) ]...................................0.03 ..0.03 
..0.06 ..0.06
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.06 ..0.05 
..0.08 ..0.09
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.16 ..0.16 
..0.20 ..0.34
[ T052: f2( a ) ]...............................................0.05 ..0.03 
..0.06 ..0.08
[ T053: x := f4() ].............................................0.34 ..0.33 
..0.38 ..0.64
[ T054: x := f5() ].............................................0.11 ..0.13 
..0.14 ..0.19
[ T055: x := space(16) ]........................................0.06 ..0.08 
..0.11 ..0.14
[ T056: f_prv( c ) ]............................................0.16 ..0.16 
..0.17 ..0.28
==================================================================== ====== 
====== ======
[ total application time: ]....................................10.55 .10.70 
.11.52 .20.88
[ total real time: ]...........................................11.25 .11.20 
.11.83 .21.37
---

Brgds,
Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to