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
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour