This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Performance of the default Node Allocator.
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- To: libstdc++ at gcc dot gnu dot org
- Date: Tue, 13 Jan 2004 19:13:56 -0600 (CST)
- Subject: Re: Performance of the default Node Allocator.
- Reply-to: rittle at labs dot mot dot com
> I was talking about the performance of the default node allocator in
> situations where the list is sorted, and the nodes get splayed about in
> memory, and then subsequent allocations/deallocations suffer due to bad
> cache performance. I have here a bitmapped allocator that attempts to
> remove those defects. I'm attaching a driver program that shows the
> performance of the default node allocator v/s the bitmapped allocator.
Interesting. Based on description alone, your allocator sounds quite
similar in design philosophy to that used by malloc(1) on FreeBSD. It
was explicitly designed with modern cache architectures in mind.
> You can see clearly that the bitmapped allocator not only allocates
> memory faster, but also does not mess up the cache.
Actually, where is the data? ;-)
> If anyone wants the
> source, I can send it by email. You can see that the sort is twice as
> fast in the bitmapped allocator compared to the default node allocator
> when used repeatedly. Also, could anyone test out these things for me on
> other platforms?
> Link to get the bitmapped allocator:
> http://www.geocities.com/dhruvbird/nstl/nstl0.2.zip
What are your intentions on contributing this code to the FSF gcc?
Regards,
Loren