This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Locality problems caused by size based allocation?
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: Daniel Berlin <dberlin at dberlin dot org>, <gcc at gcc dot gnu dot org>
- Date: Wed, 18 Dec 2002 15:12:09 -0500 (EST)
- Subject: Re: Locality problems caused by size based allocation?
On Tue, 17 Dec 2002, Zack Weinberg wrote:
> > Got it. But that puzzles me: the Boehm collector allocates one size
> > of object per heap block, fitting your desription of size-based
> > allocation, yet there was a measureable improvement over ggc-page?
>
> The Boehm collector may choose better size buckets. Our current
> choices are crap, and I have statistics to prove it. (details will
> cheerfully be provided, but not now, because I'm not going to sit and
> wait for gnumeric to paint its window over this remote X11 session).
That makes sense. Then it should be an interesting experiment to apply
Boehm's MERGE_SIZES algorithm to ggc-page.
> Also, I believe it uses a generational algorithm, which should knock
> down the large amount of time spent marking live objects.
Dan didn't say whether he had done GC_enable_incremental(). Besides,
Boehm's incremental/generational mode doesn't seem to help that much with
overall collector performance... I studied this quite a bit for Java
programs, and can forward details to anyone interested.
Jeff