>Just a small question. What to you want to compare? :-)
>You are running two different test for ST and MT mode.
>They execute different code with different conditions.
>It's not expected that above results will be equal or
>similar.
>I thought that you wanted to compare the difference between
>harbour compiled for ST mode only without -bm and Harbour
>compiled with -bm for MT and you are executed the same
>test.

I just did what you requested  :-)

>> >Try to rebuild Harbour with HB_FM_DL_ALLOC and USE_DL_PREFIX macros,
>> >f.e.:
>> >   set C_USR=-DHB_FM_DL_ALLOC -DUSE_DL_PREFIX
>> >and recompile Harbour. Then compare speed results for both modes.

Purpose is not compare ST vs MT, but ST vs ST and MT vs MT before and after:
  set C_USR=-DHB_FM_DL_ALLOC -DUSE_DL_PREFIX

and as result they show "Not so much difference"

-bm flag are set in both cases, and that is a pending review

David Macias


I've also teststed 1.7a in Linux and WINE and it works correctly.
The native Linux build does not work due to missing functions and
some typos in header files. In spare time I'll try to collect my
local OW patches and send them to OW devel list.

hbrun_st.exe speedtst.prg
--------------------------
[ total application time: ]....................................67.08
[ total real time: ]...........................................67.34

hbrun_mt.exe speedtst.prg --exclude=mem --scale --thread=2
--------------------------
>> [ total application time: ]...................................104.42
[ total real time: ]..........................................107.14

Try to rebuild Harbour with HB_FM_DL_ALLOC and USE_DL_PREFIX macros, f.e.:
  set C_USR=-DHB_FM_DL_ALLOC -DUSE_DL_PREFIX
and recompile Harbour. Then compare speed results for both modes.

Not so much difference:

hbrun_st.exe speedtst.prg
--------------------------
[ total application time: ]....................................61.39
[ total real time: ]...........................................61.74

hbrun_mt.exe speedtst.prg --exclude=mem --scale --thread=2
--------------------------
[ total application time: ]...................................104.03
[ total real time: ]..........................................104.53

David Macias


hbrun_st.exe speedtst.prg
--------------------------

Warning !!! Memory statistic enabled.

11/08/08 18:49:55 Windows XP 5.1.2600 Service Pack 2
Harbour 1.1.0dev (Rev. 9854) Open Watcom C++ 12.70.8 (32-bit)
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.16
====================================================================
[ T001: x := L_C ]..............................................0.13
[ T002: x := L_N ]..............................................0.13
[ T003: x := L_D ]..............................................0.13
[ T004: x := S_C ]..............................................0.11
[ T005: x := S_N ]..............................................0.11
[ T006: x := S_D ]..............................................0.09
[ T007: x := M_C ]..............................................0.13
[ T008: x := M_N ]..............................................0.13
[ T009: x := M_D ]..............................................0.11
[ T010: x := P_C ]..............................................0.11
[ T011: x := P_N ]..............................................0.09
[ T012: x := P_D ]..............................................0.11
[ T013: x := F_C ]..............................................0.47
[ T014: x := F_N ]..............................................0.38
[ T015: x := F_D ]..............................................0.25
[ T016: x := o:GenCode ]........................................0.39
[ T017: x := o[8] ].............................................0.27
[ T018: round( i / 1000, 2 ) ]..................................0.47
[ T019: str( i / 1000 ) ].......................................1.16
[ T020: val( s ) ]..............................................0.45
[ T021: val( a [ i % 16 + 1 ] ) ]...............................0.83
[ T022: dtos( d - i % 10000 ) ].................................1.19
[ T023: eval( { || i % 16 } ) ].................................1.39
[ T024: eval( bc := { || i % 16 } ) ]...........................0.45
[ T025: eval( { |x| x % 16 }, i ) ].............................1.11
[ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.50
[ T027: eval( { |x| f1( x ) }, i ) ]............................1.31
[ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.70
[ T029: x := &( "f1(" + str(i) + ")" ) ]........................7.08
[ T030: bc := &( "{|x|f1(x)}" ); eval( bc, i ) ]................8.86
[ T031: x := valtype( x ) +  valtype( i ) ].....................1.06
[ T032: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........1.72
[ T033: x := a[ i % 16 + 1 ] == s ].............................0.66
[ T034: x := a[ i % 16 + 1 ] = s ]..............................0.72
[ T035: x := a[ i % 16 + 1 ] >= s ].............................0.72
[ T036: x := a[ i % 16 + 1 ] <= s ].............................0.75
[ T037: x := a[ i % 16 + 1 ] < s ]..............................0.70
[ T038: x := a[ i % 16 + 1 ] > s ]..............................0.73
[ T039: ascan( a, i % 16 ) ]....................................0.61
[ T040: ascan( a, { |x| x == i % 16 } ) ].......................6.44
[ T041: if i%1000==0;a:={};end; aadd(a,{i,1,.T.,s,s2,a2,bc ]....3.44
[ T042: x := a ]................................................0.16
[ T043: x := {} ]...............................................0.42
[ T044: f0() ]..................................................0.22
[ T045: f1( i ) ]...............................................0.34
[ T046: f2( c[1...8] ) ]........................................0.33
[ T047: f2( c[1...40000] ) ]....................................0.33
[ T048: f2( @c[1...40000] ) ]...................................0.31
[ T049: f2( @c[1...40000] ), c2 := c ]..........................0.44
[ T050: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.91
[ T051: f2( a ) ]...............................................0.33
[ T052: x := f4() ].............................................1.23
[ T053: x := f5() ].............................................0.78
[ T054: f_prv( c ) ]............................................0.97
====================================================================
[ total application time: ]....................................61.39
[ total real time: ]...........................................61.74



hbrun_mt.exe speedtst.prg --exclude=mem --scale --thread=2
--------------------------

Warning !!! Memory statistic enabled.

11/08/08 18:51:51 Windows XP 5.1.2600 Service Pack 2
Harbour 1.1.0dev (Rev. 9854) (MT)+ Open Watcom C++ 12.70.8 (32-bit)
THREADS: 2
N_LOOPS: 1000000
excluded tests: 029 030 023 025 027 040 041 043 052 053 019 022 031 032 054
                                                        1 th.  2 th.
factor
============================================================================
[ T001: x := L_C ]____________________________________  0.72   0.74 ->  0.98
[ T002: x := L_N ]____________________________________  0.66   0.66 ->  1.00
[ T003: x := L_D ]____________________________________  0.64   0.64 ->  1.00
[ T004: x := S_C ]____________________________________  0.69   0.73 ->  0.94
[ T005: x := S_N ]____________________________________  0.63   0.61 ->  1.02
[ T006: x := S_D ]____________________________________  0.59   0.61 ->  0.97
[ T007: x := M_C ]____________________________________  0.69   0.70 ->  0.98
[ T008: x := M_N ]____________________________________  0.64   0.63 ->  1.03
[ T009: x := M_D ]____________________________________  0.63   0.63 ->  1.00
[ T010: x := P_C ]____________________________________  0.67   0.66 ->  1.02
[ T011: x := P_N ]____________________________________  0.63   0.63 ->  1.00
[ T012: x := P_D ]____________________________________  0.63   0.63 ->  1.00
[ T013: x := F_C ]____________________________________  1.61   1.61 ->  1.00
[ T014: x := F_N ]____________________________________  1.14   1.14 ->  1.00
[ T015: x := F_D ]____________________________________  0.86   0.86 ->  1.00
[ T016: x := o:GenCode ]______________________________  1.30   1.31 ->  0.99
[ T017: x := o[8] ]___________________________________  1.05   1.05 ->  1.00
[ T018: round( i / 1000, 2 ) ]________________________  1.56   1.56 ->  1.00
[ T020: val( s ) ]____________________________________  1.47   1.49 ->  0.99
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  3.00   3.00 ->  1.00
[ T024: eval( bc := { || i % 16 } ) ]_________________  1.72   1.72 ->  1.00
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  1.81   1.81 ->  1.00
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  2.20   2.19 ->  1.01
[ T033: x := a[ i % 16 + 1 ] == s ]___________________  2.09   2.08 ->  1.01
[ T034: x := a[ i % 16 + 1 ] = s ]____________________  2.22   2.20 ->  1.01
[ T035: x := a[ i % 16 + 1 ] >= s ]___________________  2.22   2.20 ->  1.01
[ T036: x := a[ i % 16 + 1 ] <= s ]___________________  2.23   2.27 ->  0.99
[ T037: x := a[ i % 16 + 1 ] < s ]____________________  2.23   2.22 ->  1.01
[ T038: x := a[ i % 16 + 1 ] > s ]____________________  2.19   2.19 ->  1.00
[ T039: ascan( a, i % 16 ) ]__________________________  2.00   2.02 ->  0.99
[ T042: x := a ]______________________________________  0.75   0.73 ->  1.02
[ T044: f0() ]________________________________________  0.89   0.91 ->  0.98
[ T045: f1( i ) ]_____________________________________  1.20   1.20 ->  1.00
[ T046: f2( c[1...8] ) ]______________________________  1.14   1.14 ->  1.00
[ T047: f2( c[1...40000] ) ]__________________________  1.13   1.14 ->  0.99
[ T048: f2( @c[1...40000] ) ]_________________________  1.16   1.14 ->  1.01
[ T049: f2( @c[1...40000] ), c2 := c ]________________  1.47   1.47 ->  1.00
[ T050: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  2.59   2.58 ->  1.01
[ T051: f2( a ) ]_____________________________________  1.20   1.19 ->  1.01
============================================================================
[   TOTAL   ]_________________________________________ 52.23  52.25 ->  1.00
============================================================================
[ total application time: ]...................................104.03
[ total real time: ]..........................................104.53


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to