>As a last resort we may want to disable DLALLOC
>for BCC >= 6.0 if this seems to be best from the
>results.

Hi Viktor,

Here is the results for Windows Vista 6.0.6000. Strange that DL-Alloc
wins pratically in all parts except in last part of memtst. Maybe is
possible do an optmization in this process?  Why in memtst.prg we have
this warning: "Warning!!! some compilers may badly fail here"

memtst WITH DL

testing single large memory blocks allocation and freeing...
 CPU time:          0.84 sec.
real time:          0.84 sec.

testing many large memory blocks allocation and freeing...
 CPU time:          5.08 sec.
real time:          5.09 sec.

testing large memory block reallocation with intermediate
allocations...
Warning!!! some compilers may badly fail here      1000      2000
3000      4000      5000      6000      7000      8000      9000
10000     11000     12000     13000     14000     15000     16000
17000     18000     19000     20000     21000     22000     23000
24000     25000     26000     27000     28000     29000     30000
31000     32000     33000     34000     35000     36000     37000
38000     39000     40000     41000     42000     43000     44000
45000     46000     47000     48000     49000     50000     51000
52000     53000     54000     55000     56000     57000     58000
59000     60000     61000     62000     63000     64000     65000
66000     67000     68000     69000     70000     71000     72000
73000     74000     75000     76000     77000     78000     79000
80000     81000     82000     83000     84000     85000     86000
87000     88000     89000     90000     91000     92000     93000
94000     95000     96000     97000     98000     99000    100000
 CPU time:          5.27 sec.
real time:          5.30 sec.


memtst WITHOUT DL

testing single large memory blocks allocation and freeing...
 CPU time:          0.86 sec.
real time:          0.86 sec.

testing many large memory blocks allocation and freeing...
 CPU time:          8.36 sec.
real time:          8.36 sec.

testing large memory block reallocation with intermediate
allocations...
Warning!!! some compilers may badly fail here      1000      2000
3000      4000      5000      6000      7000      8000      9000
10000     11000     12000     13000     14000     15000     16000
17000     18000     19000     20000     21000     22000     23000
24000     25000     26000     27000     28000     29000     30000
31000     32000     33000     34000     35000     36000     37000
38000     39000     40000     41000     42000     43000     44000
45000     46000     47000     48000     49000     50000     51000
52000     53000     54000     55000     56000     57000     58000
59000     60000     61000     62000     63000     64000     65000
66000     67000     68000     69000     70000     71000     72000
73000     74000     75000     76000     77000     78000     79000
80000     81000     82000     83000     84000     85000     86000
87000     88000     89000     90000     91000     92000     93000
94000     95000     96000     97000     98000     99000    100000
 CPU time:          1.39 sec.
real time:          1.41 sec.



speedtst

11/10/08 13:15:19 Windows Vista 6.0.6000
Harbour 1.1.0dev (Rev. 9888) CodeGear C++ 6.1 (32-bit)
THREADS: 0
N_LOOPS: 1000000

.......................................................DLA ...WIN
[ T000: empty loop overhead ].........................0.09 ..0.09
=============================================
[ T001: x := L_C ]....................................0.13 ..0.13
[ T002: x := L_N ]....................................0.14 ..0.14
[ T003: x := L_D ]....................................0.13 ..0.11
[ T004: x := S_C ]....................................0.13 ..0.13
[ T005: x := S_N ]....................................0.22 ..0.14
[ T006: x := S_D ]....................................0.13 ..0.11
[ T007: x := M_C ]....................................0.14 ..0.13
[ T008: x := M_N ]....................................0.11 ..0.27
[ T009: x := M_D ]....................................0.11 ..0.13
[ T010: x := P_C ]....................................0.13 ..0.14
[ T011: x := P_N ]....................................0.14 ..0.11
[ T012: x := P_D ]....................................0.22 ..0.13
[ T013: x := F_C ]....................................0.48 ..0.69
[ T014: x := F_N ]....................................0.41 ..0.64
[ T015: x := F_D ]....................................0.19 ..0.27
[ T016: x := o:GenCode ]..............................0.39 ..0.36
[ T017: x := o[8] ]...................................0.25 ..0.44
[ T018: round( i / 1000, 2 ) ]........................0.45 ..0.50
[ T019: str( i / 1000 ) ].............................3.28 ..3.50
[ T020: val( s ) ]....................................0.45 ..0.45
[ T021: val( a [ i % 16 + 1 ] ) ].....................1.31 ..1.33
[ T022: dtos( d - i % 10000 ) ].......................0.94 ..1.14
[ T023: eval( { || i % 16 } ) ].......................0.63 ..0.98
[ T024: eval( bc := { || i % 16 } ) ].................0.44 ..0.45
[ T025: eval( { |x| x % 16 }, i ) ]...................0.50 ..0.69
[ T026: eval( bc := { |x| x % 16 }, i ) ].............0.42 ..0.44
[ T027: eval( { |x| f1( x ) }, i ) ]..................0.64 ..0.83
[ T028: eval( bc := { |x| f1( x ) }, i ) ]............0.58 ..0.56
[ T029: x := &( "f1(" + str(i) + ")" ) ]..............5.11 ..7.05
[ T030: bc := &( "{|x|f1(x)}" ); eval( bc, i ) ]......7.88 ..9.09
[ T031: x := valtype( x ) +  valtype( i ) ]...........0.64 ..0.88
[ T032: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ]..2.95 ..3.23
[ T033: x := a[ i % 16 + 1 ] == s ]...................0.77 ..0.78
[ T034: x := a[ i % 16 + 1 ] = s ]....................0.80 ..0.83
[ T035: x := a[ i % 16 + 1 ] >= s ]...................0.81 ..0.81
[ T036: x := a[ i % 16 + 1 ] <= s ]...................0.80 ..0.81
[ T037: x := a[ i % 16 + 1 ] < s ]....................0.83 ..0.83
[ T038: x := a[ i % 16 + 1 ] > s ]....................0.80 ..0.81
[ T039: ascan( a, i % 16 ) ]..........................0.48 ..0.52
[ T040: ascan( a, { |x| x == i % 16 } ) ].............5.08 ..5.59
[ T041: if i%1000==0;a:={};end; aadd(a,{i,1,.T.,s,s2..2.00 ..3.58
[ T042: x := a ]......................................0.13 ..0.14
[ T043: x := {} ].....................................0.19 ..0.41
[ T044: f0() ]........................................0.16 ..0.13
[ T045: f1( i ) ].....................................0.25 ..0.25
[ T046: f2( c[1...8] ) ]..............................0.22 ..0.22
[ T047: f2( c[1...40000] ) ]..........................0.23 ..0.22
[ T048: f2( @c[1...40000] ) ].........................0.23 ..0.23
[ T049: f2( @c[1...40000] ), c2 := c ]................0.31 ..0.33
[ T050: f3( a, a2, s, i, s2, bc, i, n, x ) ]..........0.86 ..0.88
[ T051: f2( a ) ].....................................0.25 ..0.23
[ T052: x := f4() ]...................................1.19 ..1.28
[ T053: x := f5() ]...................................0.42 ..0.61
[ T054: f_prv( c ) ]..................................0.61 ..0.83
==========================================
[ total application time: ]..........................52.16 .60.55




Regards,

Toninho.



_______________________________________________________
Yahoo! Mail - Sempre a melhor opção para você!
Experimente já e veja as novidades.
http://br.yahoo.com/mailbeta/tudonovo/


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

Reply via email to