Przemek:

more and 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:

e) gcc335, OMF type, with -DHB_FM_DL_ALLOC
f) gcc335, OMF 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, e) gcc335, OMF type, with -DHB_FM_DL_ALLOC ***

2009.11.26 03:26:06 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.03
[ T006: x := S_D ]..............................................0.00
[ T007: x := M->M_C ]...........................................0.03
[ T008: x := M->M_N ]...........................................0.03
[ T009: x := M->M_D ]...........................................0.03
[ 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.10
[ T014: x := F_N ]..............................................0.13
[ T015: x := F_D ]..............................................0.06
[ T016: x := o:Args ]...........................................0.13
[ T017: x := o[2] ].............................................0.06
[ T018: round( i / 1000, 2 ) ]..................................0.13
[ T019: str( i / 1000 ) ].......................................0.55
[ T020: val( s ) ]..............................................0.16
[ 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.19
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.16
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.23
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.16
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.19
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................2.10
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................2.23
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.29
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.55
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.19
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.26
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.23
[ 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.55
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.06
[ T045: f0() ]..................................................0.03
[ T046: f1( i ) ]...............................................0.06
[ T047: f2( c[1...8] ) ]........................................0.06
[ T048: f2( c[1...40000] ) ]....................................0.06
[ T049: f2( @c[1...40000] ) ]...................................0.03
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.06
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.19
[ T052: f2( a ) ]...............................................0.06
[ T053: x := f4() ].............................................0.55
[ T054: x := f5() ].............................................0.16
[ T055: x := space(16) ]........................................0.10
[ T056: f_prv( c ) ]............................................0.26
====================================================================
[ total application time: ]....................................16.48
[ total real time: ]...........................................16.46

2009.11.26 03:26:33 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.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.10
[ T008: x := M->M_N ]...........................................0.06
[ T009: x := M->M_D ]...........................................0.03
[ T010: x := M->P_C ]...........................................0.06
[ T011: x := M->P_N ]...........................................0.06
[ T012: x := M->P_D ]...........................................0.03
[ T013: x := F_C ]..............................................0.19
[ T014: x := F_N ]..............................................0.13
[ T015: x := F_D ]..............................................0.10
[ T016: x := o:Args ]...........................................0.19
[ T017: x := o[2] ].............................................0.13
[ T018: round( i / 1000, 2 ) ]..................................0.16
[ T019: str( i / 1000 ) ].......................................0.61
[ T020: val( s ) ]..............................................0.19
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.32
[ T022: dtos( d - i % 10000 ) ].................................0.39
[ T023: eval( { || i % 16 } ) ].................................0.45
[ T024: eval( bc := { || i % 16 } ) ]...........................0.23
[ T025: eval( { |x| x % 16 }, i ) ].............................0.32
[ 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.10
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.32
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.42
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.71
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.29
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.32
[ 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.32
[ 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.03
[ T044: x := {} ]...............................................0.16
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.10
[ 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.45
[ T052: f2( a ) ]...............................................0.13
[ T053: x := f4() ].............................................0.58
[ T054: x := f5() ].............................................0.23
[ T055: x := space(16) ]........................................0.19
[ T056: f_prv( c ) ]............................................0.42
====================================================================
[ total application time: ]....................................23.19
[ total real time: ]...........................................23.23

2009.11.26 03:26:56 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.19
[ T002: x := L_N ]..............................................0.65
[ T003: x := L_D ]..............................................1.06
[ T004: x := S_C ]..............................................1.42
[ T005: x := S_N ]..............................................1.68
[ T006: x := S_D ]..............................................0.58
[ T007: x := M->M_C ]...........................................1.84
[ T008: x := M->M_N ]...........................................0.97
[ T009: x := M->M_D ]...........................................1.35
[ T010: x := M->P_C ]...........................................1.55
[ T011: x := M->P_N ]...........................................1.52
[ T012: x := M->P_D ]...........................................1.48
[ T013: x := F_C ]..............................................0.00
[ T014: x := F_N ]..............................................0.29
[ T015: x := F_D ]..............................................0.23
[ T016: x := o:Args ]...........................................1.97
[ T017: x := o[2] ].............................................1.68
[ T018: round( i / 1000, 2 ) ]..................................2.35
[ T019: str( i / 1000 ) ].......................................2.87
[ T020: val( s ) ]..............................................2.06
[ T021: val( a [ i % 16 + 1 ] ) ]...............................2.39
[ T022: dtos( d - i % 10000 ) ].................................2.48
[ T023: eval( { || i % 16 } ) ].................................0.71
[ T024: eval( bc := { || i % 16 } ) ]...........................1.39
[ T025: eval( { |x| x % 16 }, i ) ].............................1.26
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................1.19
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.77
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................1.16
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................1.06
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................5.65
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................2.94
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.35
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........1.06
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.90
[ T035: x := a[ i % 16 + 1 ] = s ]..............................1.03
[ T036: x := a[ i % 16 + 1 ] >= s ].............................1.19
[ T037: x := a[ i % 16 + 1 ] <= s ].............................1.16
[ T038: x := a[ i % 16 + 1 ] < s ]..............................1.55
[ T039: x := a[ i % 16 + 1 ] > s ]..............................1.87
[ T040: ascan( a, i % 16 ) ]....................................1.84
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................1.81
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....3.81
[ T043: x := a ]................................................0.26
[ T044: x := {} ]...............................................1.06
[ T045: f0() ]..................................................0.32
[ T046: f1( i ) ]...............................................0.58
[ T047: f2( c[1...8] ) ]........................................1.29
[ T048: f2( c[1...40000] ) ]....................................0.81
[ T049: f2( @c[1...40000] ) ]...................................0.58
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.68
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................1.77
[ T052: f2( a ) ]...............................................0.81
[ T053: x := f4() ].............................................1.94
[ T054: x := f5() ].............................................0.94
[ T055: x := space(16) ]........................................0.35
[ T056: f_prv( c ) ]............................................1.19
====================================================================
[ total application time: ].....................................0.10
[ total real time: ]...........................................22.15

2009.11.26 03:27:19 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.13 ->  1.02
[ T002: x := L_N ]____________________________________  0.09   0.09 ->  1.00
[ T003: x := L_D ]____________________________________  0.09   0.09 ->  1.00
[ T004: x := S_C ]____________________________________  0.17   0.17 ->  1.01
[ T005: x := S_N ]____________________________________  0.10   0.10 ->  1.01
[ T006: x := S_D ]____________________________________  0.10   0.11 ->  0.97
[ T007: x := M->M_C ]_________________________________  0.21   0.20 ->  1.01
[ T008: x := M->M_N ]_________________________________  0.14   0.14 ->  1.01
[ T009: x := M->M_D ]_________________________________  0.14   0.14 ->  0.99
[ T010: x := M->P_C ]_________________________________  0.17   0.17 ->  1.01
[ T011: x := M->P_N ]_________________________________  0.14   0.14 ->  1.01
[ T012: x := M->P_D ]_________________________________  0.14   0.14 ->  1.01
[ T013: x := F_C ]____________________________________  0.40   0.40 ->  0.99
[ T014: x := F_N ]____________________________________  0.31   0.31 ->  1.00
[ T015: x := F_D ]____________________________________  0.20   0.20 ->  1.01
[ T016: x := o:Args ]_________________________________  0.35   0.35 ->  1.00
[ T017: x := o[2] ]___________________________________  0.25   0.25 ->  1.00
[ T018: round( i / 1000, 2 ) ]________________________  0.41   0.41 ->  1.00
[ T019: str( i / 1000 ) ]_____________________________  1.36   1.36 ->  1.00
[ T020: val( s ) ]____________________________________  0.42   0.42 ->  1.00
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  0.71   0.71 ->  1.00
[ T022: dtos( d - i % 10000 ) ]_______________________  0.72   0.73 ->  1.00
[ T023: eval( { || i % 16 } ) ]_______________________  0.96   0.95 ->  1.01
[ T024: eval( bc := { || i % 16 } ) ]_________________  0.47   0.47 ->  1.00
[ T025: eval( { |x| x % 16 }, i ) ]___________________  0.68   0.68 ->  1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  0.45   0.45 ->  1.00
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  0.71   0.70 ->  1.01
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  0.51   0.51 ->  1.00
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  0.51   0.52 ->  0.99
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________  6.19   6.79 ->  0.91
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______  6.57   6.92 ->  0.95
[ T032: x := valtype( x ) +  valtype( i ) ]___________  0.79   0.79 ->  1.00
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  1.47   1.46 ->  1.00
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.59   0.59 ->  1.00
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  0.63   0.63 ->  1.00
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  0.62   0.62 ->  1.01
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  0.63   0.63 ->  1.00
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  0.63   0.62 ->  1.00
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  0.62   0.63 ->  1.00
[ T040: ascan( a, i % 16 ) ]__________________________  0.62   0.62 ->  1.00
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________  5.23   5.23 ->  1.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  1.69   1.70 ->  1.00
[ T043: x := a ]______________________________________  0.15   0.15 ->  1.02
[ T044: x := {} ]_____________________________________  0.31   0.31 ->  0.99
[ T045: f0() ]________________________________________  0.15   0.15 ->  1.01
[ T046: f1( i ) ]_____________________________________  0.21   0.21 ->  0.99
[ T047: f2( c[1...8] ) ]______________________________  0.25   0.26 ->  1.00
[ T048: f2( c[1...40000] ) ]__________________________  0.26   0.26 ->  1.00
[ T049: f2( @c[1...40000] ) ]_________________________  0.19   0.19 ->  0.99
[ T050: f2( @c[1...40000] ), c2 := c ]________________  0.28   0.28 ->  1.00
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  0.77   0.77 ->  1.00
[ T052: f2( a ) ]_____________________________________  0.27   0.27 ->  1.00
[ T053: x := f4() ]___________________________________  1.19   1.19 ->  1.00
[ T054: x := f5() ]___________________________________  0.48   0.49 ->  0.99
[ T055: x := space(16) ]______________________________  0.39   0.40 ->  0.97
[ T056: f_prv( c ) ]__________________________________  0.83   0.83 ->  1.00
============================================================================
[   TOTAL   ]_________________________________________ 43.02  43.99 ->  0.98
============================================================================
[ total application time: ].....................................0.06
[ total real time: ]...........................................87.19

*** End, e) gcc335, OMF type, with -DHB_FM_DL_ALLOC ***


*** Start f) gcc335, OMF type, without -DHB_FM_DL_ALLOC ***


2009.11.26 04:53:57 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.03
[ 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.26
[ T014: x := F_N ]..............................................0.13
[ T015: x := F_D ]..............................................0.06
[ T016: x := o:Args ]...........................................0.10
[ T017: x := o[2] ].............................................0.06
[ T018: round( i / 1000, 2 ) ]..................................0.16
[ T019: str( i / 1000 ) ].......................................0.68
[ T020: val( s ) ]..............................................0.16
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.29
[ T022: dtos( d - i % 10000 ) ].................................0.45
[ T023: eval( { || i % 16 } ) ].................................0.58
[ T024: eval( bc := { || i % 16 } ) ]...........................0.13
[ T025: eval( { |x| x % 16 }, i ) ].............................0.35
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.13
[ T027: eval( { |x| f1( x ) }, i ) ]............................0.39
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.16
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.16
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................3.16
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.58
[ T032: x := valtype( x ) +  valtype( i ) ].....................0.42
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.71
[ 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.23
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.26
[ 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 } ) ].......................2.39
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.97
[ T043: x := a ]................................................0.03
[ T044: x := {} ]...............................................0.19
[ T045: f0() ]..................................................0.06
[ T046: f1( i ) ]...............................................0.06
[ T047: f2( c[1...8] ) ]........................................0.06
[ T048: f2( c[1...40000] ) ]....................................0.10
[ T049: f2( @c[1...40000] ) ]...................................0.06
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.06
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.23
[ T052: f2( a ) ]...............................................0.06
[ T053: x := f4() ].............................................0.68
[ T054: x := f5() ].............................................0.29
[ T055: x := space(16) ]........................................0.26
[ T056: f_prv( c ) ]............................................0.42
====================================================================
[ total application time: ]....................................22.06
[ total real time: ]...........................................22.07

2009.11.26 04:54:33 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.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.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.26
[ T014: x := F_N ]..............................................0.13
[ T015: x := F_D ]..............................................0.10
[ 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.16
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.32
[ T022: dtos( d - i % 10000 ) ].................................0.45
[ T023: eval( { || i % 16 } ) ].................................0.71
[ T024: eval( bc := { || i % 16 } ) ]...........................0.23
[ T025: eval( { |x| x % 16 }, i ) ].............................0.39
[ 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.87
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................4.35
[ 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.29
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.29
[ T040: ascan( a, i % 16 ) ]....................................0.26
[ 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.06
[ T044: x := {} ]...............................................0.26
[ T045: f0() ]..................................................0.03
[ 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.35
[ 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.55
====================================================================
[ total application time: ]....................................26.13
[ total real time: ]...........................................26.06

2009.11.26 04:54:59 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.71
[ T002: x := L_N ]..............................................0.13
[ T003: x := L_D ]..............................................0.45
[ T004: x := S_C ]..............................................1.42
[ T005: x := S_N ]..............................................1.19
[ T006: x := S_D ]..............................................1.19
[ T007: x := M->M_C ]...........................................1.61
[ T008: x := M->M_N ]...........................................1.58
[ T009: x := M->M_D ]...........................................1.42
[ T010: x := M->P_C ]...........................................2.13
[ T011: x := M->P_N ]...........................................1.19
[ T012: x := M->P_D ]...........................................1.00
[ T013: x := F_C ]..............................................0.00
[ T014: x := F_N ]..............................................0.26
[ T015: x := F_D ]..............................................0.16
[ T016: x := o:Args ]...........................................2.71
[ T017: x := o[2] ].............................................1.52
[ T018: round( i / 1000, 2 ) ]..................................3.06
[ T019: str( i / 1000 ) ].......................................4.45
[ T020: val( s ) ]..............................................3.58
[ T021: val( a [ i % 16 + 1 ] ) ]...............................3.10
[ T022: dtos( d - i % 10000 ) ].................................3.26
[ T023: eval( { || i % 16 } ) ].................................1.97
[ T024: eval( bc := { || i % 16 } ) ]...........................3.87
[ T025: eval( { |x| x % 16 }, i ) ].............................2.26
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................3.29
[ T027: eval( { |x| f1( x ) }, i ) ]............................1.81
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................2.77
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................3.00
[ T030: x := &( "f1(" + str(i) + ")" ) ]........................6.13
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................3.13
[ T032: x := valtype( x ) +  valtype( i ) ].....................2.06
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........2.45
[ T034: x := a[ i % 16 + 1 ] == s ].............................1.94
[ T035: x := a[ i % 16 + 1 ] = s ]..............................2.58
[ T036: x := a[ i % 16 + 1 ] >= s ].............................2.26
[ T037: x := a[ i % 16 + 1 ] <= s ].............................1.26
[ T038: x := a[ i % 16 + 1 ] < s ]..............................4.03
[ T039: x := a[ i % 16 + 1 ] > s ]..............................1.45
[ T040: ascan( a, i % 16 ) ]....................................1.16
[ T041: ascan( a, { |x| x == i % 16 } ) ].......................5.19
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....2.68
[ T043: x := a ]................................................1.26
[ T044: x := {} ]...............................................1.97
[ T045: f0() ]..................................................2.58
[ T046: f1( i ) ]...............................................2.32
[ T047: f2( c[1...8] ) ]........................................1.74
[ T048: f2( c[1...40000] ) ]....................................1.16
[ T049: f2( @c[1...40000] ) ]...................................0.81
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.39
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................4.55
[ T052: f2( a ) ]...............................................2.48
[ T053: x := f4() ].............................................4.23
[ T054: x := f5() ].............................................1.97
[ T055: x := space(16) ]........................................2.16
[ T056: f_prv( c ) ]............................................2.94
====================================================================
[ total application time: ].....................................0.26
[ total real time: ]...........................................26.25

2009.11.26 04:55:26 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.15   0.13 ->  1.10
[ T002: x := L_N ]____________________________________  0.08   0.08 ->  0.98
[ T003: x := L_D ]____________________________________  0.08   0.08 ->  1.02
[ T004: x := S_C ]____________________________________  0.18   0.17 ->  1.10
[ T005: x := S_N ]____________________________________  0.10   0.10 ->  1.01
[ T006: x := S_D ]____________________________________  0.10   0.10 ->  0.99
[ T007: x := M->M_C ]_________________________________  0.20   0.20 ->  1.00
[ T008: x := M->M_N ]_________________________________  0.13   0.13 ->  0.99
[ T009: x := M->M_D ]_________________________________  0.14   0.14 ->  0.99
[ 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.14   0.14 ->  1.00
[ T013: x := F_C ]____________________________________  0.60   0.60 ->  0.99
[ T014: x := F_N ]____________________________________  0.30   0.30 ->  1.01
[ T015: x := F_D ]____________________________________  0.20   0.19 ->  1.02
[ T016: x := o:Args ]_________________________________  0.35   0.35 ->  1.01
[ T017: x := o[2] ]___________________________________  0.26   0.26 ->  1.00
[ T018: round( i / 1000, 2 ) ]________________________  0.43   0.43 ->  1.00
[ T019: str( i / 1000 ) ]_____________________________  1.53   1.53 ->  1.00
[ T020: val( s ) ]____________________________________  0.41   0.41 ->  1.00
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  0.71   0.71 ->  1.00
[ T022: dtos( d - i % 10000 ) ]_______________________  0.98   0.98 ->  1.00
[ T023: eval( { || i % 16 } ) ]_______________________  1.45   1.47 ->  0.98
[ T024: eval( bc := { || i % 16 } ) ]_________________  0.50   0.49 ->  1.01
[ T025: eval( { |x| x % 16 }, i ) ]___________________  0.95   0.95 ->  1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  0.47   0.47 ->  1.00
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  0.89   0.91 ->  0.97
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  0.51   0.51 ->  1.00
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  0.52   0.52 ->  1.01
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________  7.77   8.28 ->  0.94
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______  8.62   8.95 ->  0.96
[ T032: x := valtype( x ) +  valtype( i ) ]___________  0.98   0.98 ->  1.00
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  1.70   1.69 ->  1.00
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.62   0.62 ->  1.00
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  0.64   0.64 ->  1.00
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  0.64   0.64 ->  1.00
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  0.64   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.62 ->  1.00
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________  5.74   5.76 ->  1.00
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  2.33   2.32 ->  1.01
[ T043: x := a ]______________________________________  0.14   0.15 ->  0.97
[ T044: x := {} ]_____________________________________  0.57   0.56 ->  1.01
[ T045: f0() ]________________________________________  0.15   0.15 ->  1.01
[ T046: f1( i ) ]_____________________________________  0.21   0.21 ->  1.00
[ T047: f2( c[1...8] ) ]______________________________  0.24   0.24 ->  1.00
[ T048: f2( c[1...40000] ) ]__________________________  0.25   0.24 ->  1.01
[ T049: f2( @c[1...40000] ) ]_________________________  0.19   0.19 ->  0.98
[ 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.00
[ T052: f2( a ) ]_____________________________________  0.25   0.25 ->  1.00
[ T053: x := f4() ]___________________________________  1.44   1.42 ->  1.01
[ T054: x := f5() ]___________________________________  0.70   0.71 ->  1.00
[ T055: x := space(16) ]______________________________  0.65   0.63 ->  1.04
[ T056: f_prv( c ) ]__________________________________  1.09   1.09 ->  1.00
============================================================================
[   TOTAL   ]_________________________________________ 51.13  51.93 ->  0.98
============================================================================
[ total application time: ]....................................52.06
[ total real time: ]..........................................103.38

*** End f) gcc335, 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