Hi Angel,
Just one note: Be aware with VNC, as it can suck significant amount
of CPU time in server mode. [ It uses poll method plus bitmap compression
in real-time. ] If you also have RDC connection I recommend that for
testing.

Another small one:
You can remove this line, it's the default, and there is now a different
settings to force old version (see in INSTALL):
set HB_VISUALC_VER=90

Brgds,
Viktor

2009/3/29 Angel Pais <amigo...@adinet.com.uy>

> 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
>
>


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

Reply via email to