Re: [Larceny-users] freezing for garbage collection?

2008-03-05 Thread William D Clinger
Matt Parker wrote:
 I have been using chicken scheme already and it doesn't ever freeze the
 screen from garbage collection (I don't know why not).  It also happens
 to be quite slow compared to larceny or even maybe gambit-c.  I tried
 using gambit once and it did the same freezes.

In that case, there is one more thing you should try.

Chicken doesn't attempt to collect compiled code or
static data.  Larceny does, and I think that's the
most likely reason you're noticing these freezes
in Larceny but not Chicken.  You can prevent Larceny
from attempting to collect your compiled code and
static data by creating your own heap image that
contains your entire program, like this:

% larceny -stopcopy
 (load myprogram)  ; load your entire program,
  ; but don't start it
 (dump-interactive-heap myprogram.heap)
 (exit)

(Instead of dump-interactive-heap, you might prefer to
use dump-heap; see the Larceny User Manual.)

Then create a split heap:

% larceny -heap myprogram.heap -reorganize-and-dump

That creates myprogram.heap.split, which you can rename
and use as your initial heap:

% mv myprogram.heap.split mypgm
% larceny -heap mypgm -areas 3

If that doesn't help, then we might have been wrong in
thinking the freezes are caused by garbage collection.

Will

___
Larceny-users mailing list
Larceny-users@lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/larceny-users


Re: [Larceny-users] freezing for garbage collection?

2008-03-04 Thread William D Clinger
David Rush wrote:
 Given that Larceny was originally meant to be a platform for trying various
 GC schemes (no pun intended) is it perhaps time to find a gifted student in
 need of a senior project to write a bounded-incremental collector?

Last week, after giving a talk on that very problem for
a meeting of our local student chapter of the ACM, I met
several gifted students who seemed to have some interest.

 My read of the literature is that such a collector is a fairly well-solved
 problem...

Real-time collectors generally sacrifice considerable
throughput.  Maintaining throughput while bounding the
worst-case pause time remains a goal of current research.

Will

___
Larceny-users mailing list
Larceny-users@lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/larceny-users


Re: [Larceny-users] freezing for garbage collection?

2008-03-04 Thread William D Clinger
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

___
Larceny-users mailing list
Larceny-users@lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/larceny-users


Re: [Larceny-users] freezing for garbage collection?

2008-03-04 Thread Matthew Parker

Ah, ok, well that's good new that you are putting in a new collector.  I 
would like to test it for you, as well.

I have been using chicken scheme already and it doesn't ever freeze the 
screen from garbage collection (I don't know why not).  It also happens 
to be quite slow compared to larceny or even maybe gambit-c.  I tried 
using gambit once and it did the same freezes.

Tell me when you've got something you'd like me to test.  I'll go back to 
using chicken until then, I suppose.

Matt


On Tue, 4 Mar 2008, William D Clinger wrote:

 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


___
Larceny-users mailing list
Larceny-users@lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/larceny-users