On Mon, Jun 23, 2008 at 05:44:11PM -0400, Jorge Arellano Cid wrote:
On Sun, Jun 22, 2008 at 10:11:30AM -0400, Jorge Arellano Cid wrote:
------------------------------------------- Huge page with different memory allocators: -------------------------------------------
%MEM VSZ RSS TTY STAT START TIME COMMAND 5.4 134912 113740 pts/17 S+ 18:56 0:02 ./dillo-fltk step: 2x 5.4 134916 113752 pts/17 S+ 18:57 0:02 ./dillo-fltk step: 2x 5.4 134828 113660 pts/17 S+ 18:58 0:02 ./dillo-fltk step: 2x
5.0 114940 105432 pts/17 S+ 18:53 0:02 ./dillo-fltk step: 1 5.0 111976 105488 pts/17 S+ 18:54 0:03 ./dillo-fltk step: 1 5.0 114872 105416 pts/17 S+ 18:54 0:02 ./dillo-fltk step: 1
5.1 117796 106436 pts/17 S+ 18:59 0:02 ./dillo-fltk step: cst 5.1 117568 106404 pts/17 S+ 19:00 0:02 ./dillo-fltk step: cst 5.1 117820 106460 pts/17 S+ 19:00 0:02 ./dillo-fltk step: cst
This data comes from a memory usage reduction by tunning the simpleVector memory allocator. The first is the current one, which allocates in chunks of 2*numAlloc, the second allocates one by one and the third is a custom one I made.
The 1-allocator is the best memory usage reducer but it's slower (roughly 20%). The cst-allocator reduces a bit less but is almost as fast as the 2x-allocator (2% slower or so).
Memory reduction:
VSZ RSS ----------------------------- 1-allocator 15% 7.3% cst-allocator 13% 6.5% -----------------------------
After some more study I got to a second cst2-allocator that reduces almost as much as the 1-allocator but with the same (or better) speed than the 2x one!
%MEM VSZ RSS TTY STAT START TIME COMMAND 5.0 114940 105432 pts/17 S+ 18:53 0:02 ./dillo-fltk step: 1 5.0 111976 105488 pts/17 S+ 18:54 0:03 ./dillo-fltk step: 1 5.0 114872 105416 pts/17 S+ 18:54 0:02 ./dillo-fltk step: 1
5.1 113224 105820 pts/17 S+ 13:57 0:02 ./dillo-fltk step: cst2 5.0 112948 105740 pts/17 S+ 13:58 0:02 ./dillo-fltk step: cst2 5.0 115528 105628 pts/17 S+ 13:59 0:02 ./dillo-fltk step: cst2
So now we have:
----------------------------- Memory reduction:
VSZ RSS ----------------------------- 1-allocator 15% 7.3% cst-allocator 13% 6.5% cst2-allocator 15% 7.3% -----------------------------
Committed.
Here some results from DragonFly. BTW it found out that by switching off speedstep and thereby locking the CPU to 600MHz I can get more consistent timings. Old SimpleVector: real 0m9.284s user 0m7.921s sys 0m0.336s USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND hofmann 18621 19.5 7.7 141288 119732 p2 SL+ 4:39PM 0:04.01 ./dillo-fltk New SimpleVector from cvs: real 0m10.012s user 0m8.005s sys 0m0.585s USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND hofmann 19344 41.6 7.6 126796 119464 p2 SL+ 4:41PM 0:04.39 ./dillo-fltk So there is a considerable memory reduction but also a noticable higher CPU (especially system) load. Cheers, Johannes