texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] Boehm-gc-texmacs cache behavior


From: David Allouche
Subject: Re: [Texmacs-dev] Boehm-gc-texmacs cache behavior
Date: Mon, 24 May 2004 13:27:22 +0200
User-agent: Mutt/1.5.5.1+cvs20040105i

On Sun, May 23, 2004 at 08:13:29PM +0200, David MENTRE wrote:
> 
> David, I suppose you can tune some parameters in Boehm GC? Have you
> tried different configurations (e.g. incremental or not)?

I have tried several things, including partial collections at idle time.
I do not remember the specifics of each setting, but the final is what
gave the best overall results IMHO, with a slight bias towards good
benchmarking results (as opposed to best interactive performance
possible).

Some relevant patches are patch-13 and patch-20.

> Personally, I have activated following env parameters:
> GC_INITIAL_HEAP_SIZE=64000000
> GC_PRINT_STATS=
> GC_PAUSE_TIME_TARGET=150
> GC_ENABLE_INCREMENTAL=

I have not used these env parameters, instead I have been tuning up the
GC at texmacs startup.

> Subjectively, texmacs seems to have the same interactivity but your
> right, memory consumption is doubled (resident size of 74 MB against
> about 35 MB for a standard texmacs). This is quite strange.

> Or there is a bad side effect, like a bad interaction between libgc
> and guile. E.g., would it be possible that guile keeps pointers on
> memory that would have to be reclaimed? Should Guile be also built
> with the GC?

I do not think that GUILE is a big problem here: libgc is not used in
texmacs with the LD_PRELOAD trick, so only structures which were
explicitely allocated by libgc (and a few "root" areas, like stack and
static variables) are considered during collection.

Yet it is conceivable that the interaction of the different garbage
collectors has an adverse effect on heap growth and cache performance.

-- 
                                                            -- ddaa




reply via email to

[Prev in Thread] Current Thread [Next in Thread]