On Sun, 29 Mar 2009, Angel Pais wrote:

Hi,

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

Thank you very much.

> 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
> ============================================================================
> [ 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
[...]
> ============================================================================
> [   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%

So they assigned the process to single CPU.


> 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
[...]
> ============================================================================
> [   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%

And here we have _FATAL_ scalability results. It's very strange for me.
In most of above tests non memory allocation or even internal locks are
used. It should be perfectly well scaled to number of CPU but it isn't.
So the memory allocator is not a problem in Windows builds.
It's rather look like some type of hardware performance reduction.
Don't you have enabled some automatic CPU clock reduction for idle state?
In some cases it may cause such results.

> 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
[...]
> ============================================================================
> [   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

As above. Interesting that tests which does not make any memory allocations
gave different results.

> http://rapidshare.com/files/215014183/speedhb.zip.html
> MD5: BE33161B84F0C8815AAB628C1341CC55 
> Download and test yourself on true multiprocessor windows pc.

Thank you. I'll try tomorrow in my office. I do not have such MS-Windows
machine here.

Here my results from Linux builds on Suse11.0 and default memory
allocator. It's AMD Phenom(tm) 8450 Triple-Core Processor.
With dynamic CPU clock 2100/1050 Mhz:

03/29/09 20:02:59 Linux 2.6.25.20-0.1-pae i686
Harbour 1.1.0dev (Rev. 10724) (MT)+ GNU C 4.3.1 (32-bit)
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.  factor
============================================================================
[ T001: x := L_C ]____________________________________  0.23   0.11 ->  2.09
[ T002: x := L_N ]____________________________________  0.15   0.15 ->  0.97
[ T003: x := L_D ]____________________________________  0.14   0.10 ->  1.41
[ T004: x := S_C ]____________________________________  0.22   0.23 ->  0.94
[ T005: x := S_N ]____________________________________  0.19   0.15 ->  1.24
[ T006: x := S_D ]____________________________________  0.19   0.14 ->  1.34
[ T007: x := M->M_C ]_________________________________  0.24   0.18 ->  1.37
[ T008: x := M->M_N ]_________________________________  0.22   0.17 ->  1.32
[ T009: x := M->M_D ]_________________________________  0.22   0.13 ->  1.64
[ T010: x := M->P_C ]_________________________________  0.25   0.14 ->  1.77
[ T011: x := M->P_N ]_________________________________  0.21   0.16 ->  1.33
[ T012: x := M->P_D ]_________________________________  0.22   0.13 ->  1.61
[ T013: x := F_C ]____________________________________  0.50   0.27 ->  1.83
[ T014: x := F_N ]____________________________________  0.61   0.33 ->  1.85
[ T015: x := F_D ]____________________________________  0.32   0.25 ->  1.28
[ T016: x := o:Args ]_________________________________  0.52   0.29 ->  1.79
[ T017: x := o[2] ]___________________________________  0.34   0.21 ->  1.62
[ T018: round( i / 1000, 2 ) ]________________________  0.66   0.38 ->  1.75
[ T019: str( i / 1000 ) ]_____________________________  1.38   0.74 ->  1.87
[ T020: val( s ) ]____________________________________  0.72   0.41 ->  1.75
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  1.11   0.59 ->  1.87
[ T022: dtos( d - i % 10000 ) ]_______________________  1.03   0.52 ->  1.96
[ T023: eval( { || i % 16 } ) ]_______________________  1.28   1.32 ->  0.97
[ T024: eval( bc := { || i % 16 } ) ]_________________  0.76   0.42 ->  1.80
[ T025: eval( { |x| x % 16 }, i ) ]___________________  1.03   1.09 ->  0.94
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  0.78   0.47 ->  1.66
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  1.18   1.17 ->  1.01
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  0.93   0.49 ->  1.88
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  0.96   0.53 ->  1.80
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________  7.93   4.34 ->  1.83
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______  9.07   6.12 ->  1.48
[ T032: x := valtype( x ) +  valtype( i ) ]___________  1.10   0.56 ->  1.97
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  1.85   0.96 ->  1.93
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.79   0.43 ->  1.85
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  0.86   0.46 ->  1.87
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  0.87   0.47 ->  1.84
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  0.85   0.47 ->  1.82
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  0.86   0.48 ->  1.81
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  0.86   0.48 ->  1.81
[ T040: ascan( a, i % 16 ) ]__________________________  0.95   0.56 ->  1.70
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________  8.03   4.56 ->  1.76
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  2.23   1.50 ->  1.49
[ T043: x := a ]______________________________________  0.19   0.14 ->  1.38
[ T044: x := {} ]_____________________________________  0.44   0.98 ->  0.45
[ T045: f0() ]________________________________________  0.30   0.18 ->  1.62
[ T046: f1( i ) ]_____________________________________  0.40   0.22 ->  1.79
[ T047: f2( c[1...8] ) ]______________________________  0.41   0.24 ->  1.70
[ T048: f2( c[1...40000] ) ]__________________________  0.41   0.24 ->  1.73
[ T049: f2( @c[1...40000] ) ]_________________________  0.38   0.23 ->  1.68
[ T050: f2( @c[1...40000] ), c2 := c ]________________  0.49   0.28 ->  1.74
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  1.02   0.54 ->  1.90
[ T052: f2( a ) ]_____________________________________  0.42   0.25 ->  1.68
[ T053: x := f4() ]___________________________________  1.25   0.66 ->  1.88
[ T054: x := f5() ]___________________________________  0.77   0.43 ->  1.81
[ T055: x := space(16) ]______________________________  0.61   0.35 ->  1.75
[ T056: f_prv( c ) ]__________________________________  1.20   0.81 ->  1.48
============================================================================
[   TOTAL   ]_________________________________________ 61.13  38.23 ->  1.60
============================================================================
[ total application time: ]...................................134.56
[ total real time: ]...........................................99.36

When I disable dynamic CPU clock updating and set it to fixed 2100 Mhz:

03/29/09 20:08:40 Linux 2.6.25.20-0.1-pae i686
Harbour 1.1.0dev (Rev. 10724) (MT)+ GNU C 4.3.1 (32-bit)
THREADS: 2
N_LOOPS: 1000000
                                                        1 th.  2 th.  factor
============================================================================
[ T001: x := L_C ]____________________________________  0.18   0.09 ->  1.95
[ T002: x := L_N ]____________________________________  0.14   0.07 ->  1.99
[ T003: x := L_D ]____________________________________  0.15   0.07 ->  1.99
[ T004: x := S_C ]____________________________________  0.22   0.20 ->  1.11
[ T005: x := S_N ]____________________________________  0.19   0.10 ->  1.99
[ T006: x := S_D ]____________________________________  0.19   0.10 ->  1.99
[ T007: x := M->M_C ]_________________________________  0.24   0.12 ->  2.00
[ T008: x := M->M_N ]_________________________________  0.22   0.11 ->  2.00
[ T009: x := M->M_D ]_________________________________  0.22   0.11 ->  2.00
[ T010: x := M->P_C ]_________________________________  0.23   0.12 ->  1.89
[ T011: x := M->P_N ]_________________________________  0.22   0.11 ->  1.99
[ T012: x := M->P_D ]_________________________________  0.22   0.11 ->  2.00
[ T013: x := F_C ]____________________________________  0.49   0.24 ->  2.01
[ T014: x := F_N ]____________________________________  0.59   0.29 ->  2.01
[ T015: x := F_D ]____________________________________  0.31   0.16 ->  1.95
[ T016: x := o:Args ]_________________________________  0.51   0.25 ->  2.01
[ T017: x := o[2] ]___________________________________  0.34   0.17 ->  1.98
[ T018: round( i / 1000, 2 ) ]________________________  0.68   0.35 ->  1.97
[ T019: str( i / 1000 ) ]_____________________________  1.37   0.69 ->  1.97
[ T020: val( s ) ]____________________________________  0.74   0.37 ->  2.01
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  1.12   0.56 ->  2.02
[ T022: dtos( d - i % 10000 ) ]_______________________  1.01   0.51 ->  1.97
[ T023: eval( { || i % 16 } ) ]_______________________  1.27   1.40 ->  0.91
[ T024: eval( bc := { || i % 16 } ) ]_________________  0.76   0.38 ->  2.00
[ T025: eval( { |x| x % 16 }, i ) ]___________________  1.02   1.07 ->  0.95
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  0.77   0.39 ->  1.99
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  1.17   1.16 ->  1.01
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  0.92   0.47 ->  1.95
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  0.95   0.48 ->  1.97
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________  8.13   4.29 ->  1.90
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______  8.89   5.37 ->  1.66
[ T032: x := valtype( x ) +  valtype( i ) ]___________  1.06   0.56 ->  1.88
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  1.81   0.92 ->  1.97
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  0.76   0.39 ->  1.95
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  0.83   0.42 ->  1.96
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  0.89   0.44 ->  2.04
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  0.86   0.44 ->  1.97
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  0.85   0.44 ->  1.96
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  0.85   0.44 ->  1.95
[ T040: ascan( a, i % 16 ) ]__________________________  0.97   0.49 ->  1.98
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________  7.99   4.51 ->  1.77
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  2.23   1.55 ->  1.44
[ T043: x := a ]______________________________________  0.19   0.10 ->  2.00
[ T044: x := {} ]_____________________________________  0.44   0.87 ->  0.50
[ T045: f0() ]________________________________________  0.29   0.15 ->  1.99
[ T046: f1( i ) ]_____________________________________  0.40   0.20 ->  1.98
[ T047: f2( c[1...8] ) ]______________________________  0.42   0.21 ->  1.98
[ T048: f2( c[1...40000] ) ]__________________________  0.42   0.21 ->  1.95
[ T049: f2( @c[1...40000] ) ]_________________________  0.38   0.19 ->  1.98
[ T050: f2( @c[1...40000] ), c2 := c ]________________  0.47   0.24 ->  1.99
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  1.00   0.50 ->  1.99
[ T052: f2( a ) ]_____________________________________  0.44   0.22 ->  2.01
[ T053: x := f4() ]___________________________________  1.21   0.62 ->  1.94
[ T054: x := f5() ]___________________________________  0.78   0.45 ->  1.71
[ T055: x := space(16) ]______________________________  0.61   0.31 ->  1.99
[ T056: f_prv( c ) ]__________________________________  1.18   0.65 ->  1.81
============================================================================
[   TOTAL   ]_________________________________________ 60.82  35.43 ->  1.72
============================================================================
[ total application time: ]...................................131.06
[ total real time: ]...........................................96.26

as you can see in nearly all tests the scalability is very close to 2.0
what is optimal result.

It's three CPU machine so I also made test for 6 threads:
   speedtst --thread=6 --scale

03/29/09 20:19:48 Linux 2.6.25.20-0.1-pae i686
Harbour 1.1.0dev (Rev. 10724) (MT)+ GNU C 4.3.1 (32-bit)
THREADS: 6
N_LOOPS: 1000000
                                                        1 th.  6 th.  factor
============================================================================
[ T001: x := L_C ]____________________________________  0.54   0.21 ->  2.64
[ T002: x := L_N ]____________________________________  0.44   0.15 ->  2.86
[ T003: x := L_D ]____________________________________  0.44   0.15 ->  2.84
[ T004: x := S_C ]____________________________________  0.67   0.74 ->  0.90
[ T005: x := S_N ]____________________________________  0.57   0.20 ->  2.84
[ T006: x := S_D ]____________________________________  0.57   0.24 ->  2.45
[ T007: x := M->M_C ]_________________________________  0.75   0.40 ->  1.88
[ T008: x := M->M_N ]_________________________________  0.66   0.25 ->  2.69
[ T009: x := M->M_D ]_________________________________  0.65   0.23 ->  2.89
[ T010: x := M->P_C ]_________________________________  0.67   0.25 ->  2.64
[ T011: x := M->P_N ]_________________________________  0.65   0.23 ->  2.80
[ T012: x := M->P_D ]_________________________________  0.65   0.22 ->  2.98
[ T013: x := F_C ]____________________________________  1.48   0.55 ->  2.69
[ T014: x := F_N ]____________________________________  1.80   0.64 ->  2.82
[ T015: x := F_D ]____________________________________  0.96   0.34 ->  2.83
[ T016: x := o:Args ]_________________________________  1.53   0.59 ->  2.58
[ T017: x := o[2] ]___________________________________  1.03   0.34 ->  3.02
[ T018: round( i / 1000, 2 ) ]________________________  2.05   0.74 ->  2.76
[ T019: str( i / 1000 ) ]_____________________________  4.12   1.48 ->  2.78
[ T020: val( s ) ]____________________________________  2.22   0.77 ->  2.87
[ T021: val( a [ i % 16 + 1 ] ) ]_____________________  3.34   1.27 ->  2.63
[ T022: dtos( d - i % 10000 ) ]_______________________  3.05   1.07 ->  2.85
[ T023: eval( { || i % 16 } ) ]_______________________  3.84   3.78 ->  1.02
[ T024: eval( bc := { || i % 16 } ) ]_________________  2.29   0.82 ->  2.79
[ T025: eval( { |x| x % 16 }, i ) ]___________________  3.14   3.58 ->  0.88
[ T026: eval( bc := { |x| x % 16 }, i ) ]_____________  2.38   0.87 ->  2.74
[ T027: eval( { |x| f1( x ) }, i ) ]__________________  3.60   3.83 ->  0.94
[ T028: eval( bc := { |x| f1( x ) }, i ) ]____________  2.80   0.95 ->  2.93
[ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ]_______  2.90   1.05 ->  2.77
[ T030: x := &( "f1(" + str(i) + ")" ) ]______________ 23.68   8.54 ->  2.77
[ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]______ 26.58  11.01 ->  2.41
[ T032: x := valtype( x ) +  valtype( i ) ]___________  3.18   1.13 ->  2.80
[ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]  5.49   1.90 ->  2.89
[ T034: x := a[ i % 16 + 1 ] == s ]___________________  2.31   0.80 ->  2.88
[ T035: x := a[ i % 16 + 1 ] = s ]____________________  2.51   0.98 ->  2.55
[ T036: x := a[ i % 16 + 1 ] >= s ]___________________  2.65   0.95 ->  2.79
[ T037: x := a[ i % 16 + 1 ] <= s ]___________________  2.64   0.92 ->  2.86
[ T038: x := a[ i % 16 + 1 ] < s ]____________________  2.56   0.95 ->  2.71
[ T039: x := a[ i % 16 + 1 ] > s ]____________________  2.60   0.97 ->  2.69
[ T040: ascan( a, i % 16 ) ]__________________________  2.92   1.05 ->  2.78
[ T041: ascan( a, { |x| x == i % 16 } ) ]_____________ 24.03   9.89 ->  2.43
[ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s ]  6.62   4.12 ->  1.61
[ T043: x := a ]______________________________________  0.59   0.20 ->  2.99
[ T044: x := {} ]_____________________________________  1.33   2.58 ->  0.52
[ T045: f0() ]________________________________________  0.89   0.32 ->  2.78
[ T046: f1( i ) ]_____________________________________  1.24   0.43 ->  2.86
[ T047: f2( c[1...8] ) ]______________________________  1.28   0.44 ->  2.89
[ T048: f2( c[1...40000] ) ]__________________________  1.29   0.48 ->  2.67
[ T049: f2( @c[1...40000] ) ]_________________________  1.15   0.41 ->  2.80
[ T050: f2( @c[1...40000] ), c2 := c ]________________  1.42   0.47 ->  3.00
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]__________  3.02   1.05 ->  2.89
[ T052: f2( a ) ]_____________________________________  1.31   0.50 ->  2.62
[ T053: x := f4() ]___________________________________  3.62   1.33 ->  2.72
[ T054: x := f5() ]___________________________________  2.36   0.84 ->  2.82
[ T055: x := space(16) ]______________________________  1.82   0.72 ->  2.53
[ T056: f_prv( c ) ]__________________________________  3.67   1.28 ->  2.86
============================================================================
[   TOTAL   ]_________________________________________182.53  80.22 ->  2.28
============================================================================
[ total application time: ]...................................413.31
[ total real time: ]..........................................262.76


I would like to see similar results in Windows too but it's possible that
in this OS it will be very hard to reach them.

BTW I forgot to ask. Did you used -gc3 parameter compiling speedtst by
    hbmk2?

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

Reply via email to