Related articles |
---|
Memory allocator performance in C/C++ compilers eem12@cornell.edu (ed mckenzie) (1999-01-22) |
Re: Memory allocator performance in C/C++ compilers eodell@pobox.com (1999-01-25) |
Re: Memory allocator performance in C/C++ compilers chase@world.std.com (David Chase) (1999-01-25) |
Re: Memory allocator performance in C/C++ compilers vmakarov@cygnus.com (Vladimir Makarov) (1999-01-25) |
Re: Memory allocator performance in C/C++ compilers eem12@cornell.edu (ed mckenzie) (1999-01-27) |
Re: Memory allocator performance in C/C++ compilers johnsgreen@worldnet.att.net (John S. Green) (1999-01-27) |
Re: Memory allocator performance in C/C++ compilers rosinowski@gmx.de (1999-01-27) |
From: | Vladimir Makarov <vmakarov@cygnus.com> |
Newsgroups: | comp.compilers |
Date: | 25 Jan 1999 21:55:52 -0500 |
Organization: | Cygnus Solutions |
References: | 99-01-081 |
Keywords: | storage, performance |
ed mckenzie wrote:
> Am I missing something? Are there other things influencing allocator
> performance besides block size, number of blocks, and allocation
> pattern? Or is VC++'s memory allocator just slower than the other
> compilers? Interestingly, there's a third-party allocator for VC++
> (UltraHeap) that claims similar performance gains over the standard
> 6.0 RTL allocator. Is there a heap benchmark that could measure this
> sort of thing with more accuracy and completeness than a simple test
> program?
>
I think, the best implementation of malloc is dalloc (Doug Lea alloc)
which is developed during many years. Now this is part of GNU libc of
version 2.0. I guess that you used gcc with libc of version 2.0.
You can find dalloc on
http://g.oswego.edu/dl/html/malloc.html
The page contains good explanation of allocation algorithms and
factors which can affect allocation speed.
The simpler and more compact implementation of malloc of Mike Haertel
is in Gnu libc of version 1.0.
I don't know what algorithm does VC use but this is typical example of
advantage of free software development model.
Vladimir Makarov
Return to the
comp.compilers page.
Search the
comp.compilers archives again.