[Larceny-users] freezing for garbage collection?

William D Clinger will at ccs.neu.edu
Tue Mar 4 19:17:46 EST 2008


Matt Parker wrote:
> Will running the game in a thread work?

No.

> I tried running it with your options and there were still pauses (less
> frequent, but just as large delays).

That will be a problem with all of Larceny's current
garbage collectors (and with other stop-the-world
collectors, including Chicken's).  Generational
collectors make the delays less frequent, but don't
do anything to reduce their duration.

So far as I know, there are no implementations of
Scheme whose garbage collectors can meet your needs.
Marc Feeley has said he was working on a real-time
collector for Gambit, but I don't know its current
status.  We are working on a new collector for
Larceny that should meet your requirements, but it
isn't finished yet.

> Could I set it so there are frequent
> small garbage collections, like one after every frame of the game, with
> no apparent pause?

The settings I gave you already increase the frequency
of minor collections, and reduce the duration of most
major collections, but there is currently no way to
eliminate all of Larceny's full collections.

> Perhaps I could manually call the collector after every frame?

That won't help either.

> I really
> can't have any noticeable pauses in the game since it will mess up the
> AI's behavior.

We understand the problem.  We have designed a collector
that should work for you, but we don't expect to release
it until this fall.  If you are willing to test the new
collector for us, however, then we might have something
for you to try a little sooner.

Will



More information about the Larceny-users mailing list