ntdll: Heap implementation has a performance bottleneck

Michael Kaufmann hallo at michael-kaufmann.ch
Fri Jul 21 15:39:27 CDT 2006


Alexandre Julliard wrote:
> A quick fix is to add more free list entries, and in particular an
> entry for very small blocks since your test case seems to create a lot
> of them. Something like this seems to work well:
>   
Thank you Alexandre, this patch speeds up HomeSite a lot. It's still not 
as fast as in Windows, but it's OK.


Frank Richter wrote:
> On the topic of memory allocation speed: even the NT allocator is
> painstakingly slow, see some charts at:
> http://www.nedprod.com/programs/portable/nedmalloc/index.html .
>   
Thanks for the link!

> I don't know, would it be technically possible to back heap allocation
> by one of these alternative memory allocators mentioned on that page? If
> so, you could get a "free" performance advantage over native by simply
> using a better allocator (for some programs, at least).
>   
A problem that Wine will be facing is the need to support the HeapWalk 
function. Applications should not use it, because the speed of the heap 
implementation degrades (mentioned on MSDN), but maybe there are 
applications that need it.

Regards,
Michael



More information about the wine-devel mailing list