War of allocators: hoard or hoards?
I found Emery Berger's allocator called hoard. Hoard's homepage holds out some promising general qualities (fast, scalable, and memory-efficient) about the allocator, do we need more than this? I tried out how it performs in WebKit.
SunSpider in QtLauncher
V8 in QtLauncher
The V8 benchmark shows the same results that we have seen above in the case of SunSpider. It is slower than TCmalloc by 4.9% and consumes more memory than TCmalloc by 7.9%. Anyway, V8 benchmark consumes ~151 megabytes, this number will be interesting later.
WindScorpion in QtLauncher
These were single threaded benchmarks... But as hoard's web site wrote "it can dramatically improve application performance, especially for multi-threaded programs running on multiprocessors"...
Workers - the multi-threaded benchmarks
Two SunSpider workers in QtLauncher
The columns represent the slower worker's result. In the case of performance, TCmalloc is 39% faster than hoard. On the memory consumption side, hoard consumes 2.9% more memory.
Two V8 workers in QtLauncher
As the chart shows, hoard is 44% slower than TCmalloc and it consumes 28% more memory. In the case of V8, TCmalloc consumes ~150 megabytes, with 2 V8 workers it consumes 334 megabytes.
I've expected that hoard will perform better, but as you can see, still TCmalloc shows the best values.