> Anybody has objection if dlmalloc be used as default memory manager? The > advantage is very obvious: speed improvement
Hello, Regarding my proposal to make dlmalloc default memory manager, I attached below a speedtst result for consideration (30% speed improvement when using dlmalloc ): 11/12/11 08:29:25 Windows XP Professional 5.01.2600 Service Pack 3 xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9409) Microsoft Visual C++ 16.00.40219.01 THREADS: 0 N_LOOPS: 1000000 DL STD ===== ===== [ T000: empty loop overhead ]...................................0.06 0.06 ==================================================================== ===== [ T001: x := L_C ]..............................................0.05 0.05 [ T002: x := L_N ]..............................................0.03 0.03 [ T003: x := L_D ]..............................................0.06 0.03 [ T004: x := S_C ]..............................................0.06 0.05 [ T005: x := S_N ]..............................................0.03 0.03 [ T006: x := S_D ]..............................................0.03 0.03 [ T007: x := M->M_C ]...........................................0.06 0.06 [ T008: x := M->M_N ]...........................................0.05 0.03 [ T009: x := M->M_D ]...........................................0.05 0.05 [ T010: x := M->P_C ]...........................................0.06 0.06 [ T011: x := M->P_N ]...........................................0.05 0.03 [ T012: x := M->P_D ]...........................................0.03 0.05 [ T013: x := F_C ]..............................................0.25 0.72 [ T014: x := F_N ]..............................................0.27 0.27 [ T015: x := F_D ]..............................................0.14 0.16 [ T016: x := o:Args ]...........................................0.38 0.61 [ T017: x := o[2] ].............................................0.06 0.08 [ T018: round( i / 1000, 2 ) ]..................................0.39 0.63 [ T019: str( i / 1000 ) ].......................................0.98 1.83 [ T020: val( s ) ]..............................................0.44 0.69 [ T021: val( a [ i % 16 + 1 ] ) ]...............................0.69 0.97 [ T022: dtos( d - i % 10000 ) ].................................0.70 0.98 [ T023: eval( { || i % 16 } ) ].................................0.80 1.52 [ T024: eval( bc := { || i % 16 } ) ]...........................0.55 0.80 [ T025: eval( { |x| x % 16 }, i ) ].............................0.63 1.14 [ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.50 0.72 [ T027: eval( { |x| f1( x ) }, i ) ]............................0.77 1.50 [ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.66 1.08 [ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.69 1.09 [ T030: x := &( "f1(" + str(i) + ")" ) ]........................9.36 11.05 [ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................8.92 11.63 [ T032: x := valtype( x ) + valtype( i ) ].....................0.77 1.67 [ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........1.20 1.88 [ T034: x := a[ i % 16 + 1 ] == s ].............................0.42 0.44 [ T035: x := a[ i % 16 + 1 ] = s ]..............................0.44 0.42 [ T036: x := a[ i % 16 + 1 ] >= s ].............................0.42 0.42 [ T037: x := a[ i % 16 + 1 ] <= s ].............................0.41 0.42 [ T038: x := a[ i % 16 + 1 ] < s ]..............................0.44 0.44 [ T039: x := a[ i % 16 + 1 ] > s ]..............................0.42 0.42 [ T040: ascan( a, i % 16 ) ]....................................0.56 0.81 [ T041: ascan( a, { |x| x == i % 16 } ) ].......................5.95 8.45 [ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....1.25 3.06 [ T043: x := a ]................................................0.06 0.06 [ T044: x := {} ]...............................................0.17 0.42 [ T045: f0() ]..................................................0.22 0.45 [ T046: f1( i ) ]...............................................0.25 0.53 [ T047: f2( c[1...8] ) ]........................................0.28 0.48 [ T048: f2( c[1...40000] ) ]....................................0.27 0.50 [ T049: f2( @c[1...40000] ) ]...................................0.27 0.47 [ T050: f2( @c[1...40000] ), c2 := c ]..........................0.31 0.55 [ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.66 0.75 [ T052: f2( a ) ]...............................................0.27 0.52 [ T053: x := f4() ].............................................1.45 2.98 [ T054: x := f5() ].............................................0.67 2.23 [ T055: x := space(16) ]........................................0.42 1.45 [ T056: f_prv( c ) ]............................................1.00 2.56 ==================================================================== ===== [ total application time: ]....................................49.83 73.89 [ total real time: ]...........................................50.08 74.13 Andi ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ xHarbour-developers mailing list xHarbour-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xharbour-developers