I send this message three times: send, no reject, never arrive to
Harbour list
Seem to be due message length
This is the SECOND half ( gcc335 results )
David Macias
Przemek:
And here more results ...
Harbour 13017
Below are results using:
------------------------
hbmk2 -m -n -w -es2 -l -kmo -gc3 speedtst.prg
speedtst.exe
hbmk2 -m -n -w -es2 -l -kmo -gc3 -mt speedtst.prg
speedtst.exe
speedtst.exe --thread
speedtst.exe --thread=2 --scale
------------------------
for:
a) gcc433, OMF type, with -DHB_FM_DL_ALLOC
b) gcc433, OMF type, without -DHB_FM_DL_ALLOC
c) gcc335, a.out type, with -DHB_FM_DL_ALLOC
d) gcc335, a.out type, without -DHB_FM_DL_ALLOC
Same hardware used with OpenWatcom, gcc433, gcc335, so comparison
between C compilers are valid in this case
David Macias
*** Start c) gcc335, a.out type, with -DHB_FM_DL_ALLOC ***
2009.11.25 07:25:48 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) EMX GNU C 3.3.5 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................0.03
[ T002: x := L_N ]..............................................0.00
[ T003: x := L_D ]..............................................0.00
[ T004: x := S_C ]..............................................0.03
[ T005: x := S_N ]..............................................0.00
[ T006: x := S_D ]..............................................0.03
[ T007: x := M->M_C ]...........................................0.03
[ T008: x := M->M_N ]...........................................0.03
[ T009: x := M->M_D ]...........................................0.00
[ T010: x := M->P_C ]...........................................0.03
[ T011: x := M->P_N ]...........................................0.03
[ T012: x := M->P_D ]...........................................0.03
[ T013: x := F_C ]..............................................0.13
[ T014: x := F_N ]..............................................0.10
[ T015: x := F_D ]..............................................0.06
[ T016: x := o:Args ]...........................................0.10
[ T017: x := o[2] ].............................................0.10
[ T018: round( i / 1000, 2 ) ]..................................0.13
[ T019: str( i / 1000 ) ].......................................0.55
[ T020: val( s ) ]..............................................0.13
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.26
[ T022: dtos( d - i % 10000 ) ].................................0.29
[ T023: eval( { || i % 16 } ) ].................................0.23
[ T024: eval( bc := { || i % 16 } ) ]...........................0.16
[ T025: eval( { |x| x % 16 }, i ) ].............................0.19
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.16
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.19
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.19
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.16
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................2.10
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................2.29
[ T032: x := valtype( x ) + valtype( i ) ].....................0.26
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.58
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.23
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.19
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.19
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.23
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.23
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.23
[ T040: ascan( a, i % 16 ) ]....................................0.26
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................1.97
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.58
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.06
[ T045: f0() ]..................................................0.03
[ T046: f1( i ) ]...............................................0.06
[ T047: f2( c[1...8] ) ]........................................0.03
[ T048: f2( c[1...40000] ) ]....................................0.06
[ T049: f2( @c[1...40000] ) ]...................................0.06
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.10
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.23
[ T052: f2( a ) ]...............................................0.06
[ T053: x := f4() ].............................................0.52
[ T054: x := f5() ].............................................0.16
[ T055: x := space(16) ]........................................0.16
[ T056: f_prv( c ) ]............................................0.23
====================================================================
[ total application time: ]....................................16.39
[ total real time: ]...........................................16.19
2009.11.25 07:26:14 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT) EMX GNU C 3.3.5 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................0.03
[ T002: x := L_N ]..............................................0.03
[ T003: x := L_D ]..............................................0.00
[ T004: x := S_C ]..............................................0.06
[ T005: x := S_N ]..............................................0.03
[ T006: x := S_D ]..............................................0.00
[ T007: x := M->M_C ]...........................................0.10
[ T008: x := M->M_N ]...........................................0.03
[ T009: x := M->M_D ]...........................................0.03
[ T010: x := M->P_C ]...........................................0.06
[ T011: x := M->P_N ]...........................................0.03
[ T012: x := M->P_D ]...........................................0.06
[ T013: x := F_C ]..............................................0.16
[ T014: x := F_N ]..............................................0.10
[ T015: x := F_D ]..............................................0.06
[ T016: x := o:Args ]...........................................0.13
[ T017: x := o[2] ].............................................0.13
[ T018: round( i / 1000, 2 ) ]..................................0.13
[ T019: str( i / 1000 ) ].......................................0.65
[ T020: val( s ) ]..............................................0.16
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.32
[ T022: dtos( d - i % 10000 ) ].................................0.32
[ T023: eval( { || i % 16 } ) ].................................0.45
[ T024: eval( bc := { || i % 16 } ) ]...........................0.19
[ T025: eval( { |x| x % 16 }, i ) ].............................0.32
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.19
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.35
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.23
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.23
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................3.06
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.45
[ T032: x := valtype( x ) + valtype( i ) ].....................0.35
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.68
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.29
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.29
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.29
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.29
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.26
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.29
[ T040: ascan( a, i % 16 ) ]....................................0.26
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.58
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.84
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.13
[ T045: f0() ]..................................................0.03
[ T046: f1( i ) ]...............................................0.10
[ T047: f2( c[1...8] ) ]........................................0.10
[ T048: f2( c[1...40000] ) ]....................................0.13
[ T049: f2( @c[1...40000] ) ]...................................0.06
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.13
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.39
[ T052: f2( a ) ]...............................................0.10
[ T053: x := f4() ].............................................0.58
[ T054: x := f5() ].............................................0.19
[ T055: x := space(16) ]........................................0.19
[ T056: f_prv( c ) ]............................................0.39
====================================================================
[ total application time: ]....................................22.03
[ total real time: ]...........................................21.95
2009.11.25 07:26:36 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 3.3.5 (32-bit) x86
THREADS: all->56
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................1.10
[ T002: x := L_N ]..............................................1.03
[ T003: x := L_D ]..............................................0.39
[ T004: x := S_C ]..............................................1.26
[ T005: x := S_N ]..............................................0.68
[ T006: x := S_D ]..............................................0.35
[ T007: x := M->M_C ]...........................................2.10
[ T008: x := M->M_N ]...........................................1.19
[ T009: x := M->M_D ]...........................................0.94
[ T010: x := M->P_C ]...........................................0.84
[ T011: x := M->P_N ]...........................................2.74
[ T012: x := M->P_D ]...........................................0.77
[ T013: x := F_C ]..............................................4.19
[ T014: x := F_N ]..............................................3.61
[ T015: x := F_D ]..............................................1.32
[ T016: x := o:Args ]...........................................6.87
[ T017: x := o[2] ].............................................4.13
[ T018: round( i / 1000, 2 ) ]..................................6.48
[ T019: str( i / 1000 ) ].......................................8.71
[ T020: val( s ) ]..............................................5.19
[ T021: val( a [ i % 16 + 1 ] ) ]...............................7.32
[ T022: dtos( d - i % 10000 ) ].................................7.10
[ T023: eval( { || i % 16 } ) ].................................0.00
[ T024: eval( bc := { || i % 16 } ) ]...........................0.32
[ T025: eval( { |x| x % 16 }, i ) ].............................0.13
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.68
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.16
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.48
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.00
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................5.03
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................1.90
[ T032: x := valtype( x ) + valtype( i ) ].....................7.81
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........9.00
[ T034: x := a[ i % 16 + 1 ] == s ].............................6.81
[ T035: x := a[ i % 16 + 1 ] = s ]..............................6.68
[ T036: x := a[ i % 16 + 1 ] >= s ].............................6.45
[ T037: x := a[ i % 16 + 1 ] <= s ].............................6.45
[ T038: x := a[ i % 16 + 1 ] < s ]..............................7.10
[ T039: x := a[ i % 16 + 1 ] > s ]..............................6.74
[ T040: ascan( a, i % 16 ) ]....................................6.39
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................1.42
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....8.48
[ T043: x := a ]................................................2.48
[ T044: x := {} ]...............................................3.68
[ T045: f0() ]..................................................2.23
[ T046: f1( i ) ]...............................................2.42
[ T047: f2( c[1...8] ) ]........................................4.13
[ T048: f2( c[1...40000] ) ]....................................3.00
[ T049: f2( @c[1...40000] ) ]...................................2.39
[ T050: f2( @c[1...40000] ), c2 := c ]..........................5.45
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................9.00
[ T052: f2( a ) ]...............................................2.55
[ T053: x := f4() ].............................................9.39
[ T054: x := f5() ].............................................5.32
[ T055: x := space(16) ]........................................4.13
[ T056: f_prv( c ) ]............................................8.23
====================================================================
[ total application time: ].....................................0.10
[ total real time: ]...........................................22.53
2009.11.25 07:26:59 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 3.3.5 (32-bit) x86
THREADS: 2
N_LOOPS: 1000000
1 th. 2 th.
factor
============================================================================
[ T001: x := L_C ]____________________________________ 0.14 0.14 -> 0.98
[ T002: x := L_N ]____________________________________ 0.09 0.08 -> 1.02
[ T003: x := L_D ]____________________________________ 0.09 0.08 -> 1.02
[ T004: x := S_C ]____________________________________ 0.17 0.17 -> 1.02
[ T005: x := S_N ]____________________________________ 0.10 0.10 -> 1.00
[ T006: x := S_D ]____________________________________ 0.11 0.10 -> 1.01
[ T007: x := M->M_C ]_________________________________ 0.21 0.21 -> 1.00
[ T008: x := M->M_N ]_________________________________ 0.14 0.14 -> 0.97
[ T009: x := M->M_D ]_________________________________ 0.14 0.14 -> 1.01
[ T010: x := M->P_C ]_________________________________ 0.17 0.17 -> 1.01
[ T011: x := M->P_N ]_________________________________ 0.14 0.14 -> 0.99
[ T012: x := M->P_D ]_________________________________ 0.15 0.19 -> 0.76
[ T013: x := F_C ]____________________________________ 0.43 0.43 -> 1.00
[ T014: x := F_N ]____________________________________ 0.30 0.31 -> 0.99
[ T015: x := F_D ]____________________________________ 0.20 0.20 -> 1.01
[ T016: x := o:Args ]_________________________________ 0.37 0.38 -> 0.97
[ T017: x := o[2] ]___________________________________ 0.26 0.26 -> 1.01
[ T018: round( i / 1000, 2 ) ]________________________ 0.42 0.41 -> 1.00
[ T019: str( i / 1000 ) ]_____________________________ 1.37 1.37 -> 1.00
[ T020: val( s ) ]____________________________________ 0.43 0.43 -> 1.00
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________ 0.75 0.73 -> 1.02
[ T022: dtos( d - i % 10000 ) ]_______________________ 0.73 0.74 -> 0.99
[ T023: eval( { || i % 16 } ) ]_______________________ 0.97 0.95 -> 1.01
[ T024: eval( bc := { || i % 16 } ) ]_________________ 0.51 0.51 -> 1.00
[ T025: eval( { |x| x % 16 }, i ) ]___________________ 0.64 0.64 -> 1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________ 0.47 0.47 -> 1.00
[ T027: eval( { |x| f1( x ) }, i ) ]__________________ 0.71 0.71 -> 1.00
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________ 0.55 0.55 -> 1.00
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______ 0.56 0.56 -> 1.00
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________ 6.11 6.86 -> 0.89
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______ 6.79 7.15 -> 0.95
[ T032: x := valtype( x ) + valtype( i ) ]___________ 0.80 0.80 -> 1.00
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ] 1.49 1.50 -> 1.00
[ T034: x := a[ i % 16 + 1 ] == s ]___________________ 0.61 0.61 -> 1.00
[ T035: x := a[ i % 16 + 1 ] = s ]____________________ 0.63 0.63 -> 1.00
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________ 0.63 0.64 -> 1.00
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________ 0.63 0.64 -> 1.00
[ T038: x := a[ i % 16 + 1 ] < s ]____________________ 0.64 0.64 -> 1.00
[ T039: x := a[ i % 16 + 1 ] > s ]____________________ 0.64 0.64 -> 1.00
[ T040: ascan( a, i % 16 ) ]__________________________ 0.61 0.69 -> 0.89
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________ 5.46 5.44 -> 1.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ] 1.72 1.72 -> 1.00
[ T043: x := a ]______________________________________ 0.15 0.15 -> 1.00
[ T044: x := {} ]_____________________________________ 0.31 0.32 -> 0.98
[ T045: f0() ]________________________________________ 0.16 0.16 -> 0.99
[ T046: f1( i ) ]_____________________________________ 0.22 0.22 -> 1.00
[ T047: f2( c[1...8] ) ]______________________________ 0.27 0.01 -> 22.25
[ T048: f2( c[1...40000] ) ]__________________________ 0.40 0.28 -> 1.43
[ T049: f2( @c[1...40000] ) ]_________________________ 0.20 0.20 -> 1.00
[ T050: f2( @c[1...40000] ), c2 := c ]________________ 0.31 0.30 -> 1.04
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________ 0.76 0.80 -> 0.95
[ T052: f2( a ) ]_____________________________________ 0.28 0.29 -> 0.97
[ T053: x := f4() ]___________________________________ 1.21 2.22 -> 0.55
[ T054: x := f5() ]___________________________________ 0.00 0.52 -> 0.00
[ T055: x := space(16) ]______________________________ 0.40 0.00 -> 0.00
[ T056: f_prv( c ) ]__________________________________ 1.07 0.84 -> 1.28
============================================================================
[ TOTAL ]_________________________________________ 43.78 45.57 -> 0.96
============================================================================
[ total application time: ]....................................44.35
[ total real time: ]...........................................89.49
*** End c) gcc335, a.out type, with -DHB_FM_DL_ALLOC ***
*** Start d) gcc335, a.out type, without -DHB_FM_DL_ALLOC ***
2009.11.25 08:16:27 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) EMX GNU C 3.3.5 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.00
====================================================================
[ T001: x := L_C ]..............................................0.03
[ T002: x := L_N ]..............................................0.03
[ T003: x := L_D ]..............................................0.03
[ T004: x := S_C ]..............................................0.06
[ T005: x := S_N ]..............................................0.03
[ T006: x := S_D ]..............................................0.03
[ T007: x := M->M_C ]...........................................0.06
[ T008: x := M->M_N ]...........................................0.03
[ T009: x := M->M_D ]...........................................0.06
[ T010: x := M->P_C ]...........................................0.06
[ T011: x := M->P_N ]...........................................0.03
[ T012: x := M->P_D ]...........................................0.06
[ T013: x := F_C ]..............................................0.29
[ T014: x := F_N ]..............................................0.16
[ T015: x := F_D ]..............................................0.10
[ T016: x := o:Args ]...........................................0.13
[ T017: x := o[2] ].............................................0.10
[ T018: round( i / 1000, 2 ) ]..................................0.19
[ T019: str( i / 1000 ) ].......................................0.71
[ T020: val( s ) ]..............................................0.16
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.32
[ T022: dtos( d - i % 10000 ) ].................................0.48
[ T023: eval( { || i % 16 } ) ].................................0.61
[ T024: eval( bc := { || i % 16 } ) ]...........................0.19
[ T025: eval( { |x| x % 16 }, i ) ].............................0.42
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.19
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.42
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.19
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.19
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................3.26
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.74
[ T032: x := valtype( x ) + valtype( i ) ].....................0.45
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.74
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.26
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.26
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.26
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.26
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.26
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.26
[ T040: ascan( a, i % 16 ) ]....................................0.29
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.48
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....1.00
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.26
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.06
[ T047: f2( c[1...8] ) ]........................................0.10
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.06
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.13
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.26
[ T052: f2( a ) ]...............................................0.10
[ T053: x := f4() ].............................................0.71
[ T054: x := f5() ].............................................0.32
[ T055: x := space(16) ]........................................0.29
[ T056: f_prv( c ) ]............................................0.42
====================================================================
[ total application time: ]....................................22.16
[ total real time: ]...........................................22.16
2009.11.25 08:17:01 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT) EMX GNU C 3.3.5 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................0.03
[ T002: x := L_N ]..............................................0.00
[ T003: x := L_D ]..............................................0.00
[ T004: x := S_C ]..............................................0.03
[ T005: x := S_N ]..............................................0.03
[ T006: x := S_D ]..............................................0.03
[ T007: x := M->M_C ]...........................................0.06
[ T008: x := M->M_N ]...........................................0.03
[ T009: x := M->M_D ]...........................................0.03
[ T010: x := M->P_C ]...........................................0.06
[ T011: x := M->P_N ]...........................................0.03
[ T012: x := M->P_D ]...........................................0.03
[ T013: x := F_C ]..............................................0.26
[ T014: x := F_N ]..............................................0.13
[ T015: x := F_D ]..............................................0.06
[ T016: x := o:Args ]...........................................0.13
[ T017: x := o[2] ].............................................0.10
[ T018: round( i / 1000, 2 ) ]..................................0.16
[ T019: str( i / 1000 ) ].......................................0.71
[ T020: val( s ) ]..............................................0.19
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.29
[ T022: dtos( d - i % 10000 ) ].................................0.45
[ T023: eval( { || i % 16 } ) ].................................0.68
[ T024: eval( bc := { || i % 16 } ) ]...........................0.19
[ T025: eval( { |x| x % 16 }, i ) ].............................0.42
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.19
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.42
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.23
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.23
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................3.90
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................4.45
[ T032: x := valtype( x ) + valtype( i ) ].....................0.48
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.77
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.26
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.29
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.29
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.26
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.26
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.26
[ T040: ascan( a, i % 16 ) ]....................................0.29
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.90
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....1.13
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.26
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.06
[ T047: f2( c[1...8] ) ]........................................0.10
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.06
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.13
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.32
[ T052: f2( a ) ]...............................................0.10
[ T053: x := f4() ].............................................0.71
[ T054: x := f5() ].............................................0.32
[ T055: x := space(16) ]........................................0.29
[ T056: f_prv( c ) ]............................................0.52
====================================================================
[ total application time: ]....................................25.87
[ total real time: ]...........................................25.87
2009.11.25 08:17:27 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 3.3.5 (32-bit) x86
THREADS: all->56
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................0.90
[ T002: x := L_N ]..............................................0.68
[ T003: x := L_D ]..............................................1.00
[ T004: x := S_C ]..............................................0.42
[ T005: x := S_N ]..............................................0.23
[ T006: x := S_D ]..............................................0.61
[ T007: x := M->M_C ]...........................................0.58
[ T008: x := M->M_N ]...........................................0.35
[ T009: x := M->M_D ]...........................................0.71
[ T010: x := M->P_C ]...........................................0.84
[ T011: x := M->P_N ]...........................................0.71
[ T012: x := M->P_D ]...........................................0.71
[ T013: x := F_C ]..............................................2.16
[ T014: x := F_N ]..............................................0.97
[ T015: x := F_D ]..............................................0.77
[ T016: x := o:Args ]...........................................0.81
[ T017: x := o[2] ].............................................0.61
[ T018: round( i / 1000, 2 ) ]..................................0.19
[ T019: str( i / 1000 ) ].......................................3.03
[ T020: val( s ) ]..............................................0.29
[ T021: val( a [ i % 16 + 1 ] ) ]...............................1.23
[ T022: dtos( d - i % 10000 ) ].................................2.74
[ T023: eval( { || i % 16 } ) ].................................1.16
[ T024: eval( bc := { || i % 16 } ) ]...........................2.68
[ T025: eval( { |x| x % 16 }, i ) ].............................0.00
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................1.74
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.42
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................1.84
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................2.10
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................5.94
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................1.87
[ T032: x := valtype( x ) + valtype( i ) ].....................1.45
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........3.94
[ T034: x := a[ i % 16 + 1 ] == s ].............................3.52
[ T035: x := a[ i % 16 + 1 ] = s ]..............................3.58
[ T036: x := a[ i % 16 + 1 ] >= s ].............................3.61
[ T037: x := a[ i % 16 + 1 ] <= s ].............................3.26
[ T038: x := a[ i % 16 + 1 ] < s ]..............................1.90
[ T039: x := a[ i % 16 + 1 ] > s ]..............................2.68
[ T040: ascan( a, i % 16 ) ]....................................3.39
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................4.48
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....4.06
[ T043: x := a ]................................................0.00
[ T044: x := {} ]...............................................3.55
[ T045: f0() ]..................................................1.26
[ T046: f1( i ) ]...............................................2.03
[ T047: f2( c[1...8] ) ]........................................1.74
[ T048: f2( c[1...40000] ) ]....................................1.84
[ T049: f2( @c[1...40000] ) ]...................................1.68
[ T050: f2( @c[1...40000] ), c2 := c ]..........................1.65
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................2.81
[ T052: f2( a ) ]...............................................1.61
[ T053: x := f4() ].............................................2.06
[ T054: x := f5() ].............................................1.68
[ T055: x := space(16) ]........................................0.48
[ T056: f_prv( c ) ]............................................1.55
====================================================================
[ total application time: ].....................................0.13
[ total real time: ]...........................................26.31
2009.11.25 08:17:53 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 3.3.5 (32-bit) x86
THREADS: 2
N_LOOPS: 1000000
1 th. 2 th.
factor
============================================================================
[ T001: x := L_C ]____________________________________ 0.13 0.15 -> 0.89
[ T002: x := L_N ]____________________________________ 0.09 0.08 -> 1.02
[ T003: x := L_D ]____________________________________ 0.08 0.09 -> 0.98
[ T004: x := S_C ]____________________________________ 0.17 0.17 -> 0.99
[ T005: x := S_N ]____________________________________ 0.10 0.10 -> 1.01
[ T006: x := S_D ]____________________________________ 0.11 0.10 -> 1.05
[ T007: x := M->M_C ]_________________________________ 0.20 0.21 -> 0.99
[ T008: x := M->M_N ]_________________________________ 0.14 0.14 -> 0.99
[ T009: x := M->M_D ]_________________________________ 0.20 0.14 -> 1.47
[ T010: x := M->P_C ]_________________________________ 0.17 0.17 -> 1.00
[ T011: x := M->P_N ]_________________________________ 0.14 0.14 -> 1.01
[ T012: x := M->P_D ]_________________________________ 0.00 0.66 -> 0.00
[ T013: x := F_C ]____________________________________ 0.00 0.60 -> 0.00
[ T014: x := F_N ]____________________________________ 0.32 0.00 -> 0.00
[ T015: x := F_D ]____________________________________ 0.48 0.20 -> 2.39
[ T016: x := o:Args ]_________________________________ 0.35 0.35 -> 0.99
[ T017: x := o[2] ]___________________________________ 0.26 0.26 -> 1.00
[ T018: round( i / 1000, 2 ) ]________________________ 0.00 1.09 -> 0.00
[ T019: str( i / 1000 ) ]_____________________________ 1.59 1.59 -> 1.00
[ T020: val( s ) ]____________________________________ 0.62 0.41 -> 1.51
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________ 1.04 0.01 -> 80.23
[ T022: dtos( d - i % 10000 ) ]_______________________ 1.02 0.97 -> 1.05
[ T023: eval( { || i % 16 } ) ]_______________________ 1.46 1.47 -> 1.00
[ T024: eval( bc := { || i % 16 } ) ]_________________ 0.48 0.48 -> 1.00
[ T025: eval( { |x| x % 16 }, i ) ]___________________ 0.93 0.92 -> 1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________ 0.47 0.47 -> 0.99
[ T027: eval( { |x| f1( x ) }, i ) ]__________________ 0.95 0.92 -> 1.03
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________ 0.00 0.50 -> 0.00
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______ 0.51 0.51 -> 1.00
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________ 8.88 7.25 -> 1.22
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______ 8.94 9.19 -> 0.97
[ T032: x := valtype( x ) + valtype( i ) ]___________ 0.99 0.99 -> 1.00
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ] 1.70 2.70 -> 0.63
[ T034: x := a[ i % 16 + 1 ] == s ]___________________ 0.00 0.32 -> 0.00
[ T035: x := a[ i % 16 + 1 ] = s ]____________________ 0.64 0.89 -> 0.71
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________ 0.64 0.63 -> 1.00
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________ 0.65 0.65 -> 1.00
[ T038: x := a[ i % 16 + 1 ] < s ]____________________ 0.65 0.65 -> 1.00
[ T039: x := a[ i % 16 + 1 ] > s ]____________________ 0.63 0.65 -> 0.98
[ T040: ascan( a, i % 16 ) ]__________________________ 0.62 0.62 -> 0.99
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________ 5.96 5.97 -> 1.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ] 2.33 2.31 -> 1.01
[ T043: x := a ]______________________________________ 0.15 0.14 -> 1.01
[ T044: x := {} ]_____________________________________ 0.55 0.56 -> 0.98
[ T045: f0() ]________________________________________ 0.15 0.15 -> 1.00
[ T046: f1( i ) ]_____________________________________ 0.21 0.21 -> 1.00
[ T047: f2( c[1...8] ) ]______________________________ 0.25 0.25 -> 1.00
[ T048: f2( c[1...40000] ) ]__________________________ 0.25 0.24 -> 1.01
[ T049: f2( @c[1...40000] ) ]_________________________ 0.19 0.19 -> 1.01
[ T050: f2( @c[1...40000] ), c2 := c ]________________ 0.28 0.28 -> 1.01
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________ 0.72 0.72 -> 1.01
[ T052: f2( a ) ]_____________________________________ 0.26 0.26 -> 1.01
[ T053: x := f4() ]___________________________________ 1.47 1.41 -> 1.04
[ T054: x := f5() ]___________________________________ 0.70 0.69 -> 1.01
[ T055: x := space(16) ]______________________________ 0.63 0.64 -> 0.98
[ T056: f_prv( c ) ]__________________________________ 1.10 1.11 -> 0.99
============================================================================
[ TOTAL ]_________________________________________ 51.51 52.57 -> 0.98
============================================================================
[ total application time: ]....................................52.42
[ total real time: ]..........................................104.55
*** End d) gcc335, a.out type, without -DHB_FM_DL_ALLOC ***
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour