I send this message three times: send, no reject, never arrive to Harbour list

This is the first half

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, a) gcc433, OMF type, with -DHB_FM_DL_ALLOC ***

2009.11.25 05:41:35 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) EMX GNU C 4.3.3 (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.03
[ T004: x := S_C ]..............................................0.03
[ T005: x := S_N ]..............................................0.06
[ 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.16
[ T014: x := F_N ]..............................................0.19
[ T015: x := F_D ]..............................................0.06
[ T016: x := o:Args ]...........................................0.16
[ T017: x := o[2] ].............................................0.06
[ T018: round( i / 1000, 2 ) ]..................................0.13
[ T019: str( i / 1000 ) ].......................................0.39
[ T020: val( s ) ]..............................................0.19
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.29
[ T022: dtos( d - i % 10000 ) ].................................0.29
[ T023: eval( { || i % 16 } ) ].................................0.26
[ T024: eval( bc := { || i % 16 } ) ]...........................0.16
[ T025: eval( { |x| x % 16 }, i ) ].............................0.23
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.16
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.26
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.23
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.23
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................2.32
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................2.77
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.29
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.52
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.23
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.23
[ 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.23
[ T040: ascan( a, i % 16 ) ]....................................0.19
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.58
[ T043: x := a ]................................................0.00
[ T044: x := {} ]...............................................0.10
[ T045: f0() ]..................................................0.03
[ T046: f1( i ) ]...............................................0.10
[ T047: f2( c[1...8] ) ]........................................0.06
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.03
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.10
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.32
[ T052: f2( a ) ]...............................................0.06
[ T053: x := f4() ].............................................1.55
[ T054: x := f5() ].............................................0.19
[ T055: x := space(16) ]........................................0.13
[ T056: f_prv( c ) ]............................................0.23
====================================================================
[ total application time: ]....................................19.00
[ total real time: ]...........................................18.94

2009.11.25 05:42:06 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT) EMX GNU C 4.3.3 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................0.06
[ T002: x := L_N ]..............................................0.03
[ T003: x := L_D ]..............................................0.03
[ T004: x := S_C ]..............................................0.06
[ T005: x := S_N ]..............................................0.06
[ T006: x := S_D ]..............................................0.03
[ 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.10
[ T011: x := M->P_N ]...........................................0.03
[ T012: x := M->P_D ]...........................................0.06
[ T013: x := F_C ]..............................................0.23
[ T014: x := F_N ]..............................................0.19
[ T015: x := F_D ]..............................................0.10
[ T016: x := o:Args ]...........................................0.16
[ T017: x := o[2] ].............................................0.10
[ T018: round( i / 1000, 2 ) ]..................................0.16
[ T019: str( i / 1000 ) ].......................................0.45
[ T020: val( s ) ]..............................................0.23
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.39
[ T022: dtos( d - i % 10000 ) ].................................0.39
[ T023: eval( { || i % 16 } ) ].................................0.39
[ T024: eval( bc := { || i % 16 } ) ]...........................0.23
[ T025: eval( { |x| x % 16 }, i ) ].............................0.29
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.23
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.35
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.29
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.29
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................3.42
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................4.00
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.35
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.61
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.32
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.29
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.32
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.32
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.35
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.29
[ T040: ascan( a, i % 16 ) ]....................................0.26
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.71
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.87
[ T043: x := a ]................................................0.06
[ T044: x := {} ]...............................................0.13
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.13
[ T047: f2( c[1...8] ) ]........................................0.10
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.10
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.10
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.42
[ T052: f2( a ) ]...............................................0.13
[ T053: x := f4() ].............................................1.61
[ T054: x := f5() ].............................................0.26
[ T055: x := space(16) ]........................................0.23
[ T056: f_prv( c ) ]............................................0.39
====================================================================
[ total application time: ]....................................24.94
[ total real time: ]...........................................24.84

2009.11.25 05:42:31 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 4.3.3 (32-bit) x86
THREADS: all->56
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................1.97
[ T002: x := L_N ]..............................................1.87
[ T003: x := L_D ]..............................................1.81
[ T004: x := S_C ]..............................................1.84
[ T005: x := S_N ]..............................................1.74
[ T006: x := S_D ]..............................................1.65
[ T007: x := M->M_C ]...........................................2.10
[ T008: x := M->M_N ]...........................................1.52
[ T009: x := M->M_D ]...........................................1.77
[ T010: x := M->P_C ]...........................................1.74
[ T011: x := M->P_N ]...........................................1.71
[ T012: x := M->P_D ]...........................................1.39
[ T013: x := F_C ]..............................................0.77
[ T014: x := F_N ]..............................................0.68
[ T015: x := F_D ]..............................................0.48
[ T016: x := o:Args ]...........................................2.90
[ T017: x := o[2] ].............................................1.65
[ T018: round( i / 1000, 2 ) ]..................................2.35
[ T019: str( i / 1000 ) ].......................................3.48
[ T020: val( s ) ]..............................................2.65
[ T021: val( a [ i % 16 + 1 ] ) ]...............................3.06
[ T022: dtos( d - i % 10000 ) ].................................3.06
[ T023: eval( { || i % 16 } ) ].................................0.61
[ T024: eval( bc := { || i % 16 } ) ]...........................1.35
[ T025: eval( { |x| x % 16 }, i ) ].............................1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................1.29
[ T027: eval( { |x| f1( x ) }, i ) ]............................1.29
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................1.06
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................1.06
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................6.48
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.65
[ T032: x := valtype( x ) +  valtype( i ) ].....................1.19
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........2.03
[ T034: x := a[ i % 16 + 1 ] == s ].............................1.19
[ T035: x := a[ i % 16 + 1 ] = s ]..............................1.35
[ T036: x := a[ i % 16 + 1 ] >= s ].............................1.74
[ T037: x := a[ i % 16 + 1 ] <= s ].............................2.61
[ T038: x := a[ i % 16 + 1 ] < s ]..............................2.48
[ T039: x := a[ i % 16 + 1 ] > s ]..............................2.71
[ T040: ascan( a, i % 16 ) ]....................................1.81
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................1.48
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....5.35
[ T043: x := a ]................................................0.65
[ T044: x := {} ]...............................................1.45
[ T045: f0() ]..................................................0.81
[ T046: f1( i ) ]...............................................1.29
[ T047: f2( c[1...8] ) ]........................................1.35
[ T048: f2( c[1...40000] ) ]....................................1.58
[ T049: f2( @c[1...40000] ) ]...................................0.68
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.87
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................2.68
[ T052: f2( a ) ]...............................................0.84
[ T053: x := f4() ].............................................2.74
[ T054: x := f5() ].............................................1.65
[ T055: x := space(16) ]........................................1.45
[ T056: f_prv( c ) ]............................................2.06
====================================================================
[ total application time: ].....................................0.03
[ total real time: ]...........................................25.33

2009.11.25 05:42:57 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 4.3.3 (32-bit) x86
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.
factor
============================================================================
[ T001: x := L_C ]____________________________________  0.17   0.17 ->  1.00
[ T002: x := L_N ]____________________________________  0.12   0.12 ->  1.00
[ T003: x := L_D ]____________________________________  0.12   0.14 ->  0.88
[ T004: x := S_C ]____________________________________  0.22   0.22 ->  0.99
[ T005: x := S_N ]____________________________________  0.16   0.16 ->  1.00
[ T006: x := S_D ]____________________________________  0.16   0.16 ->  1.01
[ T007: x := M->M_C ]_________________________________  0.22   0.22 ->  1.00
[ T008: x := M->M_N ]_________________________________  0.17   0.00 ->  0.00
[ T009: x := M->M_D ]_________________________________  0.52   0.16 ->  3.19
[ T010: x := M->P_C ]_________________________________  0.19   0.20 ->  0.98
[ T011: x := M->P_N ]_________________________________  0.00   0.07 ->  0.00
[ T012: x := M->P_D ]_________________________________  0.17   0.17 ->  1.02
[ T013: x := F_C ]____________________________________  0.54   0.54 ->  0.99
[ T014: x := F_N ]____________________________________  0.43   0.42 ->  1.02
[ T015: x := F_D ]____________________________________  0.24   0.24 ->  1.00
[ T016: x := o:Args ]_________________________________  0.42   0.42 ->  0.99
[ T017: x := o[2] ]___________________________________  0.31   0.31 ->  1.02
[ T018: round( i / 1000, 2 ) ]________________________  0.39   0.39 ->  0.99
[ T019: str( i / 1000 ) ]_____________________________  1.14   1.14 ->  1.00
[ T020: val( s ) ]____________________________________  0.53   0.52 ->  1.01
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  0.86   0.86 ->  1.00
[ T022: dtos( d - i % 10000 ) ]_______________________  0.82   0.82 ->  1.00
[ T023: eval( { || i % 16 } ) ]_______________________  0.87   0.89 ->  0.98
[ T024: eval( bc := { || i % 16 } ) ]_________________  0.54   0.52 ->  1.05
[ T025: eval( { |x| x % 16 }, i ) ]___________________  0.67   0.68 ->  1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  0.55   0.54 ->  1.01
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  0.79   0.79 ->  1.00
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  0.66   0.66 ->  0.99
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  0.66   0.65 ->  1.01
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________  6.87   7.06 ->  0.97
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______  7.96   8.24 ->  0.97
[ T032: x := valtype( x ) +  valtype( i ) ]___________  0.85   0.86 ->  0.99
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  1.41   1.41 ->  1.00
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.66   0.66 ->  1.00
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  0.69   0.69 ->  1.01
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  0.69   0.69 ->  1.00
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  0.72   0.71 ->  1.01
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  0.72   0.72 ->  1.00
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  0.70   0.70 ->  1.00
[ T040: ascan( a, i % 16 ) ]__________________________  0.53   0.53 ->  1.01
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________  5.33   5.34 ->  1.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  1.85   1.85 ->  1.00
[ T043: x := a ]______________________________________  0.17   0.17 ->  1.01
[ T044: x := {} ]_____________________________________  0.34   0.34 ->  0.98
[ T045: f0() ]________________________________________  0.19   0.19 ->  1.02
[ T046: f1( i ) ]_____________________________________  0.28   0.29 ->  0.99
[ T047: f2( c[1...8] ) ]______________________________  0.28   0.28 ->  1.01
[ T048: f2( c[1...40000] ) ]__________________________  0.28   0.28 ->  0.99
[ T049: f2( @c[1...40000] ) ]_________________________  0.22   0.22 ->  1.00
[ T050: f2( @c[1...40000] ), c2 := c ]________________  0.33   0.33 ->  0.99
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  0.86   0.86 ->  1.00
[ T052: f2( a ) ]_____________________________________  0.31   0.30 ->  1.03
[ T053: x := f4() ]___________________________________  3.30   3.29 ->  1.00
[ T054: x := f5() ]___________________________________  0.61   0.62 ->  1.00
[ T055: x := space(16) ]______________________________  0.51   0.50 ->  1.03
[ T056: f_prv( c ) ]__________________________________  0.93   0.99 ->  0.94
============================================================================
[   TOTAL   ]_________________________________________ 50.25  50.31 ->  1.00
============================================================================
[ total application time: ]....................................50.58
[ total real time: ]..........................................100.74

*** End, a) gcc433, OMF type, with -DHB_FM_DL_ALLOC ***


*** Start b) gcc433, OMF type, without -DHB_FM_DL_ALLOC ***

2009.11.25 06:38:49 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) EMX GNU C 4.3.3 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.00
====================================================================
[ T001: x := L_C ]..............................................0.06
[ T002: x := L_N ]..............................................0.03
[ T003: x := L_D ]..............................................0.06
[ T004: x := S_C ]..............................................0.10
[ T005: x := S_N ]..............................................0.06
[ T006: x := S_D ]..............................................0.10
[ T007: x := M->M_C ]...........................................0.06
[ T008: x := M->M_N ]...........................................0.06
[ T009: x := M->M_D ]...........................................0.06
[ T010: x := M->P_C ]...........................................0.06
[ T011: x := M->P_N ]...........................................0.10
[ T012: x := M->P_D ]...........................................0.06
[ T013: x := F_C ]..............................................0.35
[ T014: x := F_N ]..............................................0.19
[ 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.55
[ T020: val( s ) ]..............................................0.19
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.35
[ 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.23
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.45
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.26
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.29
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................3.35
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................4.16
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.45
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.68
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.23
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.26
[ 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.29
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.29
[ T040: ascan( a, i % 16 ) ]....................................0.19
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.48
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....1.03
[ T043: x := a ]................................................0.06
[ T044: x := {} ]...............................................0.26
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.13
[ T047: f2( c[1...8] ) ]........................................0.10
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.10
[ 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() ].............................................1.74
[ T054: x := f5() ].............................................0.35
[ T055: x := space(16) ]........................................0.35
[ T056: f_prv( c ) ]............................................0.35
====================================================================
[ total application time: ]....................................24.26
[ total real time: ]...........................................24.16

2009.11.25 06:39:27 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT) EMX GNU C 4.3.3 (32-bit) x86
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.03
====================================================================
[ T001: x := L_C ]..............................................0.06
[ T002: x := L_N ]..............................................0.00
[ T003: x := L_D ]..............................................0.03
[ T004: x := S_C ]..............................................0.10
[ T005: x := S_N ]..............................................0.03
[ T006: x := S_D ]..............................................0.06
[ T007: x := M->M_C ]...........................................0.06
[ T008: x := M->M_N ]...........................................0.06
[ T009: x := M->M_D ]...........................................0.06
[ T010: x := M->P_C ]...........................................0.06
[ T011: x := M->P_N ]...........................................0.06
[ T012: x := M->P_D ]...........................................0.06
[ T013: x := F_C ]..............................................0.32
[ T014: x := F_N ]..............................................0.19
[ T015: x := F_D ]..............................................0.10
[ T016: x := o:Args ]...........................................0.16
[ T017: x := o[2] ].............................................0.13
[ T018: round( i / 1000, 2 ) ]..................................0.13
[ T019: str( i / 1000 ) ].......................................0.58
[ T020: val( s ) ]..............................................0.23
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.39
[ T022: dtos( d - i % 10000 ) ].................................0.45
[ T023: eval( { || i % 16 } ) ].................................0.68
[ T024: eval( bc := { || i % 16 } ) ]...........................0.23
[ T025: eval( { |x| x % 16 }, i ) ].............................0.42
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.26
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.45
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.29
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.29
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................4.10
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................4.97
[ 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.29
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.29
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.32
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.32
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.32
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.29
[ T040: ascan( a, i % 16 ) ]....................................0.23
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................2.94
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....1.19
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.26
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.10
[ T047: f2( c[1...8] ) ]........................................0.13
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.10
[ 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() ].............................................1.74
[ T054: x := f5() ].............................................0.32
[ T055: x := space(16) ]........................................0.32
[ T056: f_prv( c ) ]............................................0.45
====================================================================
[ total application time: ]....................................28.52
[ total real time: ]...........................................28.40

2009.11.25 06:39:55 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 4.3.3 (32-bit) x86
THREADS: all->56
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.06
====================================================================
[ T001: x := L_C ]..............................................1.48
[ T002: x := L_N ]..............................................1.61
[ T003: x := L_D ]..............................................1.58
[ T004: x := S_C ]..............................................1.42
[ T005: x := S_N ]..............................................1.35
[ T006: x := S_D ]..............................................0.90
[ T007: x := M->M_C ]...........................................1.29
[ T008: x := M->M_N ]...........................................1.19
[ T009: x := M->M_D ]...........................................1.06
[ T010: x := M->P_C ]...........................................1.16
[ T011: x := M->P_N ]...........................................0.97
[ T012: x := M->P_D ]...........................................0.87
[ T013: x := F_C ]..............................................0.00
[ T014: x := F_N ]..............................................0.68
[ T015: x := F_D ]..............................................0.97
[ T016: x := o:Args ]...........................................4.42
[ T017: x := o[2] ].............................................1.90
[ T018: round( i / 1000, 2 ) ]..................................4.42
[ T019: str( i / 1000 ) ].......................................4.39
[ T020: val( s ) ]..............................................4.94
[ T021: val( a [ i % 16 + 1 ] ) ]...............................5.52
[ T022: dtos( d - i % 10000 ) ].................................5.74
[ T023: eval( { || i % 16 } ) ].................................2.06
[ T024: eval( bc := { || i % 16 } ) ]...........................1.81
[ T025: eval( { |x| x % 16 }, i ) ].............................1.74
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................6.90
[ T027: eval( { |x| f1( x ) }, i ) ]............................1.55
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................4.90
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................3.29
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................7.16
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.55
[ T032: x := valtype( x ) +  valtype( i ) ].....................5.10
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........3.45
[ T034: x := a[ i % 16 + 1 ] == s ].............................4.87
[ T035: x := a[ i % 16 + 1 ] = s ]..............................5.10
[ T036: x := a[ i % 16 + 1 ] >= s ].............................4.90
[ T037: x := a[ i % 16 + 1 ] <= s ].............................5.00
[ T038: x := a[ i % 16 + 1 ] < s ]..............................5.06
[ T039: x := a[ i % 16 + 1 ] > s ]..............................4.45
[ T040: ascan( a, i % 16 ) ]....................................3.84
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................6.48
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....3.74
[ T043: x := a ]................................................3.77
[ T044: x := {} ]...............................................1.26
[ T045: f0() ]..................................................2.32
[ T046: f1( i ) ]...............................................3.68
[ T047: f2( c[1...8] ) ]........................................4.26
[ T048: f2( c[1...40000] ) ]....................................3.39
[ T049: f2( @c[1...40000] ) ]...................................2.32
[ T050: f2( @c[1...40000] ), c2 := c ]..........................2.39
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................4.87
[ T052: f2( a ) ]...............................................3.03
[ T053: x := f4() ].............................................2.26
[ T054: x := f5() ].............................................4.00
[ T055: x := space(16) ]........................................3.48
[ T056: f_prv( c ) ]............................................3.26
====================================================================
[ total application time: ].....................................0.06
[ total real time: ]...........................................28.93

2009.11.25 06:40:25 OS/2 4.50
Harbour 2.0.0beta3 (Rev. 13017) (MT)+ EMX GNU C 4.3.3 (32-bit) x86
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.
factor
============================================================================
[ T001: x := L_C ]____________________________________  0.17   0.17 ->  1.00
[ T002: x := L_N ]____________________________________  0.12   0.12 ->  1.01
[ T003: x := L_D ]____________________________________  0.13   0.12 ->  1.03
[ T004: x := S_C ]____________________________________  0.22   0.22 ->  1.00
[ T005: x := S_N ]____________________________________  0.16   0.16 ->  1.00
[ T006: x := S_D ]____________________________________  0.16   0.16 ->  1.01
[ T007: x := M->M_C ]_________________________________  0.23   0.24 ->  0.97
[ T008: x := M->M_N ]_________________________________  0.17   0.17 ->  1.00
[ T009: x := M->M_D ]_________________________________  0.17   0.18 ->  0.91
[ T010: x := M->P_C ]_________________________________  0.20   0.20 ->  1.01
[ T011: x := M->P_N ]_________________________________  0.17   0.17 ->  1.00
[ T012: x := M->P_D ]_________________________________  0.17   0.17 ->  1.00
[ T013: x := F_C ]____________________________________  0.74   0.74 ->  1.00
[ T014: x := F_N ]____________________________________  0.42   0.42 ->  1.00
[ T015: x := F_D ]____________________________________  0.23   0.23 ->  1.00
[ T016: x := o:Args ]_________________________________  0.40   0.39 ->  1.03
[ T017: x := o[2] ]___________________________________  0.31   0.32 ->  1.00
[ T018: round( i / 1000, 2 ) ]________________________  0.38   0.40 ->  0.95
[ T019: str( i / 1000 ) ]_____________________________  1.30   1.30 ->  1.00
[ T020: val( s ) ]____________________________________  0.52   0.52 ->  1.00
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  0.85   0.85 ->  1.00
[ T022: dtos( d - i % 10000 ) ]_______________________  1.05   1.05 ->  1.00
[ T023: eval( { || i % 16 } ) ]_______________________  1.47   1.45 ->  1.01
[ T024: eval( bc := { || i % 16 } ) ]_________________  0.52   0.52 ->  0.99
[ T025: eval( { |x| x % 16 }, i ) ]___________________  0.98   0.96 ->  1.02
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  0.54   0.54 ->  0.99
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  1.04   1.03 ->  1.01
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  0.65   0.65 ->  1.00
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  0.65   0.65 ->  1.00
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________  8.21   8.56 ->  0.96
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______  9.93  10.42 ->  0.95
[ T032: x := valtype( x ) +  valtype( i ) ]___________  1.00   1.00 ->  1.00
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  1.61   1.61 ->  1.00
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.67   0.67 ->  1.00
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  0.71   0.69 ->  1.02
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  0.71   0.71 ->  1.00
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  0.72   0.72 ->  1.00
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  0.69   0.71 ->  0.97
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  0.72   0.72 ->  1.00
[ T040: ascan( a, i % 16 ) ]__________________________  0.54   0.54 ->  1.00
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________  6.11   6.14 ->  1.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  2.43   2.42 ->  1.00
[ T043: x := a ]______________________________________  0.18   0.18 ->  1.02
[ T044: x := {} ]_____________________________________  0.59   0.57 ->  1.03
[ T045: f0() ]________________________________________  0.00   0.13 ->  0.00
[ T046: f1( i ) ]_____________________________________  0.27   0.27 ->  0.99
[ T047: f2( c[1...8] ) ]______________________________  0.28   0.28 ->  1.00
[ T048: f2( c[1...40000] ) ]__________________________  0.28   0.28 ->  1.00
[ T049: f2( @c[1...40000] ) ]_________________________  0.33   0.21 ->  1.56
[ T050: f2( @c[1...40000] ), c2 := c ]________________  0.35   0.35 ->  1.01
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  0.86   0.86 ->  1.00
[ T052: f2( a ) ]_____________________________________  0.29   0.29 ->  1.00
[ T053: x := f4() ]___________________________________  3.50   3.47 ->  1.01
[ T054: x := f5() ]___________________________________  0.73   0.74 ->  1.00
[ T055: x := space(16) ]______________________________  0.69   0.70 ->  0.99
[ T056: f_prv( c ) ]__________________________________  1.00   1.00 ->  1.00
============================================================================
[   TOTAL   ]_________________________________________ 57.50  58.33 ->  0.99
============================================================================
[ total application time: ]....................................58.55
[ total real time: ]..........................................115.96

*** End b) gcc433, OMF 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