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

Reply via email to