[Gc] Re: Partially scanning a VM's call stack

Ludovic Courtès ludo at gnu.org
Thu Aug 20 17:03:19 PDT 2009

Shiro Kawai <shiro at lava.net> writes:

> I lost my benchmark results but my experiment result in Gauche
> was similar to yours.


> I imagine that the effect of precise stack scanning is not to improve
> the average cases but mainly to prevent the worst case scenario (in
> which large amount of garbages are refered from unused stack area),
> but such scenario rarely occurs.  The probability is not zero,
> however, so in theory it is a good safety net to have.

Right.  I was just hoping someone had actually crafted sample code to
illustrate the worst case scenario.

> The size of VM stack may also matter.  Gauche uses relatively
> small stack (around 10K words per VM by default),

Guile's is (currently) 64 K words, thus potentially more likely to cause

> since the stack in Gauche is closer to a nursery; whenever the stack
> spills, active objects are moved to the heap.  The possibility of
> excess retention grows if the VM stack gets larger.

Hmm, interesting.  I guess
https://practical-scheme.net/gauche/memo-stack-j.html describes it, but
is there an English version or summary elsewhere?


More information about the Gc mailing list