Linked by Zachary Pinter on Tue 27th Apr 2004 17:09 UTC
Permalink for comment
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
News
Linked by Thom Holwerda on 06/19/13 23:02 UTC, submitted by M.Onty
Linked by Thom Holwerda on 06/19/13 22:28 UTC
Linked by Thom Holwerda on 06/18/13 22:33 UTC
Linked by Anonymous on 06/18/13 22:26 UTC
Linked by Thom Holwerda on 06/18/13 22:25 UTC
Linked by Thom Holwerda on 06/18/13 17:45 UTC
Linked by Thom Holwerda on 06/18/13 17:32 UTC, submitted by poundsmack
Linked by Thom Holwerda on 06/17/13 17:58 UTC
Linked by Thom Holwerda on 06/17/13 17:52 UTC
Linked by Thom Holwerda on 06/14/13 21:03 UTC
More News »
Sponsored Links



This is very true. Good memory managers that use different policies for different heaps can have extremely good performance for many common workloads. For example, generational GCs are very good for functional code that quickly creates then destroys lots of objects. The overhead is much less than it would be when using a fully general-purpose memory allocator. Depending on your workload, a good GC will be on average as fast as a good malloc(). When you have detailed knowledge about your program's memory allocation patterns, you can outperform both using customized allocators (eg: pool allocators), but then again, a good memory manager will offer you a range of memory management options in addition to plain GC.