Here new set of results with download link included...
Please other windows users download and post results here

HTH
Angel


Przemyslaw Czerpak escribió:

Can you also check what will happen if you rebuild Harbour with:
   set HB_USER_CFLAGS=-DHB_FM_STATISTICS_OFF -DHB_FM_WIN_ALLOC

best regards,
Przemek

Computer PIV Dual COre 3.0 win 2003 server, used tru VNC

03/29/2009 14:04:15 Windows XP 05.02 Build 03790
Xbase++ (R) Version 1.90 (MT)+ 
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.  factor
============================================================================
[ T001: x := L_C ]____________________________________  0.13   0.12 ->  1.08
[ T002: x := L_N ]____________________________________  0.11   0.09 ->  1.22
[ T003: x := L_D ]____________________________________  0.08   0.08 ->  1.00
[ T004: x := S_C ]____________________________________  0.22   0.20 ->  1.10
[ T005: x := S_N ]____________________________________  0.17   0.16 ->  1.06
[ T006: x := S_D ]____________________________________  0.18   0.28 ->  0.64
[ T007: x := M->M_C ]_________________________________  0.47   0.49 ->  0.96
[ T008: x := M->M_N ]_________________________________  0.34   0.36 ->  0.94
[ T009: x := M->M_D ]_________________________________  0.34   0.36 ->  0.94
[ T010: x := M->P_C ]_________________________________  0.47   0.53 ->  0.89
[ T011: x := M->P_N ]_________________________________  0.58   0.40 ->  1.45
[ T012: x := M->P_D ]_________________________________  0.77   0.81 ->  0.95
[ T013: x := F_C ]____________________________________  0.74   0.70 ->  1.06
[ T014: x := F_N ]____________________________________  0.64   0.58 ->  1.10
[ T015: x := F_D ]____________________________________  0.59   0.64 ->  0.92
[ T016: x := o:Args ]_________________________________  0.42   0.47 ->  0.89
[ T017: x := o[2] ]___________________________________  0.19   0.16 ->  1.19
[ T018: round( i / 1000, 2 ) ]________________________  3.43   3.33 ->  1.03
[ T019: str( i / 1000 ) ]_____________________________ 21.55  21.41 ->  1.01
[ T020: val( s ) ]____________________________________  0.96   1.00 ->  0.96
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  2.38   2.33 ->  1.02
[ T022: dtos( d - i % 10000 ) ]_______________________  3.25   3.25 ->  1.00
[ T023: eval( { || i % 16 } ) ]_______________________  3.01   3.18 ->  0.95
[ T024: eval( bc := { || i % 16 } ) ]_________________  1.78   1.68 ->  1.06
[ T025: eval( { |x| x % 16 }, i ) ]___________________  1.38   1.41 ->  0.98
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  1.05   1.09 ->  0.96
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  1.56   1.71 ->  0.91
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  1.42   1.55 ->  0.92
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  2.04   1.99 ->  1.03
[ T030: x := &( 'f1(' + str(i) + ')' ) ]______________ 60.67  60.14 ->  1.01
[ T031: bc := &( '{|x|f1(x)}' ), eval( bc, i ) ]______ 61.03  61.48 ->  0.99
[ T032: x := valtype( x ) +  valtype( i ) ]___________  1.02   0.90 ->  1.13
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ] 23.69  23.80 ->  1.00
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.90   0.94 ->  0.96
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  1.36   1.38 ->  0.99
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  1.35   1.38 ->  0.98
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  1.33   1.40 ->  0.95
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  1.32   1.35 ->  0.98
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  1.26   1.36 ->  0.93
[ T040: ascan( a, i % 16 ) ]__________________________  2.11   2.10 ->  1.00
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________ 14.21  14.74 ->  0.96
[ T042: iif( i%1000==0, a:={}, ), aadd(a,{i,1,.t.,s, ] 20.09  20.55 ->  0.98
[ T043: x := a ]______________________________________  0.12   0.11 ->  1.09
[ T044: x := {} ]_____________________________________  1.18   1.46 ->  0.81
[ T045: f0() ]________________________________________  0.47   0.35 ->  1.34
[ T046: f1( i ) ]_____________________________________  0.54   0.47 ->  1.15
[ T047: f2( c[1...8] ) ]______________________________  0.42   0.43 ->  0.98
[ T048: f2( c[1...40000] ) ]__________________________  0.45   0.45 ->  1.00
[ T049: f2( @c[1...40000] ) ]_________________________  0.38   0.39 ->  0.97
[ T050: f2( @c[1...40000] ), c2 := c ]________________  0.51   0.60 ->  0.85
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  0.83   0.76 ->  1.09
[ T052: f2( a ) ]_____________________________________  0.41   0.40 ->  1.02
[ T053: x := f4() ]___________________________________  2.72   2.63 ->  1.03
[ T054: x := f5() ]___________________________________  1.22   1.26 ->  0.97
[ T055: x := space(16) ]______________________________  0.85   0.84 ->  1.01
[ T056: f_prv( c ) ]__________________________________  1.43   1.39 ->  1.03
============================================================================
[   TOTAL   ]_________________________________________252.12 253.42 ->  0.99
============================================================================
[ total application time: ]...................................505.66
[ total real time: ]..........................................505.66

It went ok, however only processor 1 was at 100%


Compiler and Enviroment:
set HB_COMPILER=msvc
set HB_VISUALC_VER=90
set HB_USER_CFLAGS=-DHB_FM_STATISTICS_OFF
03/29/09 14:12:42 Windows Server 2003 / XP x64 5.2.3790
Harbour 1.1.0dev (Rev. 10718) (MT)+ Microsoft Visual C++ 14.0.24999 (32-bit)
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.  factor
============================================================================
[ T001: x := L_C ]____________________________________  0.28   0.25 ->  1.13
[ T002: x := L_N ]____________________________________  0.19   0.16 ->  1.20
[ T003: x := L_D ]____________________________________  0.16   0.19 ->  0.84
[ T004: x := S_C ]____________________________________  0.30   0.27 ->  1.12
[ T005: x := S_N ]____________________________________  0.19   0.19 ->  0.99
[ T006: x := S_D ]____________________________________  0.22   0.19 ->  1.16
[ T007: x := M->M_C ]_________________________________  0.33   0.31 ->  1.05
[ T008: x := M->M_N ]_________________________________  0.25   0.23 ->  1.07
[ T009: x := M->M_D ]_________________________________  0.22   0.22 ->  1.00
[ T010: x := M->P_C ]_________________________________  0.27   0.27 ->  1.00
[ T011: x := M->P_N ]_________________________________  0.22   0.25 ->  0.88
[ T012: x := M->P_D ]_________________________________  0.23   0.24 ->  1.00
[ T013: x := F_C ]____________________________________  0.88   0.83 ->  1.06
[ T014: x := F_N ]____________________________________  0.72   0.66 ->  1.09
[ T015: x := F_D ]____________________________________  0.41   0.38 ->  1.08
[ T016: x := o:Args ]_________________________________  0.64   0.69 ->  0.93
[ T017: x := o[2] ]___________________________________  0.44   0.47 ->  0.93
[ T018: round( i / 1000, 2 ) ]________________________  0.72   0.64 ->  1.12
[ T019: str( i / 1000 ) ]_____________________________  1.80   1.59 ->  1.13
[ T020: val( s ) ]____________________________________  0.94   0.89 ->  1.05
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  1.58   1.45 ->  1.09
[ T022: dtos( d - i % 10000 ) ]_______________________  1.58   1.31 ->  1.20
[ T023: eval( { || i % 16 } ) ]_______________________  6.41   8.70 ->  0.74
[ T024: eval( bc := { || i % 16 } ) ]_________________  4.83   6.06 ->  0.80
[ T025: eval( { |x| x % 16 }, i ) ]___________________  5.55   7.45 ->  0.74
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  4.86   5.99 ->  0.81
[ T027: eval( { |x| f1( x ) }, i ) ]__________________ 10.50  14.55 ->  0.72
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  9.49  12.95 ->  0.73
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  4.55   5.76 ->  0.79
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________ 19.92  24.89 ->  0.80
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______ 22.70  29.44 ->  0.77
[ T032: x := valtype( x ) +  valtype( i ) ]___________  1.75   1.84 ->  0.95
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  2.99   3.19 ->  0.94
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  1.20   1.24 ->  0.97
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  1.30   1.33 ->  0.98
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  1.33   1.28 ->  1.04
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  1.30   1.30 ->  1.00
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  1.30   1.41 ->  0.92
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  1.39   1.41 ->  0.99
[ T040: ascan( a, i % 16 ) ]__________________________  1.34   1.23 ->  1.09
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________ 52.09  72.94 ->  0.71
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  4.22   4.84 ->  0.87
[ T043: x := a ]______________________________________  0.33   0.38 ->  0.87
[ T044: x := {} ]_____________________________________  0.97   1.67 ->  0.58
[ T045: f0() ]________________________________________  3.16   3.69 ->  0.86
[ T046: f1( i ) ]_____________________________________  3.78   5.11 ->  0.74
[ T047: f2( c[1...8] ) ]______________________________  4.00   5.17 ->  0.77
[ T048: f2( c[1...40000] ) ]__________________________  3.91   5.09 ->  0.77
[ T049: f2( @c[1...40000] ) ]_________________________  3.83   5.02 ->  0.76
[ T050: f2( @c[1...40000] ), c2 := c ]________________  3.84   5.24 ->  0.73
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________ 12.30  16.59 ->  0.74
[ T052: f2( a ) ]_____________________________________  3.91   5.11 ->  0.76
[ T053: x := f4() ]___________________________________  6.26   7.95 ->  0.79
[ T054: x := f5() ]___________________________________  3.95   5.53 ->  0.71
[ T055: x := space(16) ]______________________________  1.16   1.22 ->  0.95
[ T056: f_prv( c ) ]__________________________________  5.67   7.53 ->  0.75
============================================================================
[   TOTAL   ]_________________________________________228.59 294.75 ->  0.78
============================================================================
[ total application time: ]...................................689.98
[ total real time: ]..........................................523.52

Both processors at 100%, occasionally 1st. proc was at 60%


Compiler and Enviroment:
set HB_COMPILER=msvc
set HB_VISUALC_VER=90
set HB_USER_CFLAGS=-DHB_FM_STATISTICS_OFF -DHB_FM_WIN_ALLOC
03/29/09 14:21:25 Windows Server 2003 / XP x64 5.2.3790
Harbour 1.1.0dev (Rev. 10718) (MT)+ Microsoft Visual C++ 14.0.24999 (32-bit)
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.  factor
============================================================================
[ T001: x := L_C ]____________________________________  0.31   0.30 ->  1.05
[ T002: x := L_N ]____________________________________  0.20   0.19 ->  1.09
[ T003: x := L_D ]____________________________________  0.20   0.19 ->  1.08
[ T004: x := S_C ]____________________________________  0.34   0.34 ->  1.00
[ T005: x := S_N ]____________________________________  0.23   0.24 ->  1.00
[ T006: x := S_D ]____________________________________  0.25   0.23 ->  1.07
[ T007: x := M->M_C ]_________________________________  0.38   0.41 ->  0.92
[ T008: x := M->M_N ]_________________________________  0.28   0.30 ->  0.95
[ T009: x := M->M_D ]_________________________________  0.28   0.28 ->  1.00
[ T010: x := M->P_C ]_________________________________  0.36   0.33 ->  1.09
[ T011: x := M->P_N ]_________________________________  0.28   0.28 ->  1.00
[ T012: x := M->P_D ]_________________________________  0.28   0.28 ->  1.00
[ T013: x := F_C ]____________________________________  1.03   1.03 ->  1.00
[ T014: x := F_N ]____________________________________  0.91   0.80 ->  1.14
[ T015: x := F_D ]____________________________________  0.49   0.48 ->  1.00
[ T016: x := o:Args ]_________________________________  0.73   0.83 ->  0.89
[ T017: x := o[2] ]___________________________________  0.55   0.58 ->  0.94
[ T018: round( i / 1000, 2 ) ]________________________  0.91   0.84 ->  1.07
[ T019: str( i / 1000 ) ]_____________________________  2.13   2.03 ->  1.05
[ T020: val( s ) ]____________________________________  1.13   1.05 ->  1.07
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  1.78   1.73 ->  1.03
[ T022: dtos( d - i % 10000 ) ]_______________________  6.06   4.66 ->  1.30
[ T023: eval( { || i % 16 } ) ]_______________________ 16.69  12.03 ->  1.39
[ T024: eval( bc := { || i % 16 } ) ]_________________ 14.28  10.22 ->  1.40
[ T025: eval( { |x| x % 16 }, i ) ]___________________ 16.49  11.73 ->  1.40
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________ 15.19  11.22 ->  1.35
[ T027: eval( { |x| f1( x ) }, i ) ]__________________ 25.86  18.76 ->  1.38
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________ 25.16  18.03 ->  1.40
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______ 14.58  10.22 ->  1.43
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________ 24.30  22.86 ->  1.06
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______ 25.30  24.38 ->  1.04
[ T032: x := valtype( x ) +  valtype( i ) ]___________  1.61   1.77 ->  0.91
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  2.89   2.91 ->  0.99
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  1.19   1.11 ->  1.07
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  1.30   1.34 ->  0.97
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  1.34   1.33 ->  1.01
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  1.38   1.31 ->  1.05
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  1.33   1.22 ->  1.09
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  1.34   1.33 ->  1.01
[ T040: ascan( a, i % 16 ) ]__________________________  1.23   1.19 ->  1.04
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________102.17  77.77 ->  1.31
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  6.16   5.24 ->  1.18
[ T043: x := a ]______________________________________  0.33   0.31 ->  1.05
[ T044: x := {} ]_____________________________________  1.02   1.13 ->  0.90
[ T045: f0() ]________________________________________  8.11   5.89 ->  1.38
[ T046: f1( i ) ]_____________________________________  8.83   6.89 ->  1.28
[ T047: f2( c[1...8] ) ]______________________________  8.95   6.45 ->  1.39
[ T048: f2( c[1...40000] ) ]__________________________  8.92   6.84 ->  1.30
[ T049: f2( @c[1...40000] ) ]_________________________  8.72   6.83 ->  1.28
[ T050: f2( @c[1...40000] ), c2 := c ]________________  9.39   6.86 ->  1.37
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________ 18.05  15.31 ->  1.18
[ T052: f2( a ) ]_____________________________________  8.95   6.89 ->  1.30
[ T053: x := f4() ]___________________________________ 11.74   9.58 ->  1.23
[ T054: x := f5() ]___________________________________  9.11   6.84 ->  1.33
[ T055: x := space(16) ]______________________________  1.08   1.06 ->  1.02
[ T056: f_prv( c ) ]__________________________________ 14.00  10.42 ->  1.34
============================================================================
[   TOTAL   ]_________________________________________436.06 344.65 ->  1.27
============================================================================
[ total application time: ]..................................1025.06
[ total real time: ]..........................................780.83

Both processors at 100% most of the time, slighttly more used second than first


Tests made with:

http://rapidshare.com/files/215014183/speedhb.zip.html
MD5: BE33161B84F0C8815AAB628C1341CC55 

Download and test yourself on true multiprocessor windows pc.

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

Reply via email to