Re: [racket-users] Re: reducing pauses with incremental GC

2015-12-04 Thread JCG

> 
> It was definitely less jerky from a user standpoint.

Interestingly, I tried this yesterday on a Debian desktop running on 2008 
2-core  iMac.  It was definitely feeling better with the PLT_INCREMENTAL_GC.  
Running the same image on the same machine underneath VMWare Fusion, the 
PLT_INCREMENTAL_GC was much less fluid than without the setting.  In other 
words, mileage appears to vary.  

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: reducing pauses with incremental GC

2015-12-03 Thread JCG
On Thursday, December 3, 2015 at 8:03:10 AM UTC-5, Matthew Flatt wrote:
> At Wed, 2 Dec 2015 16:23:34 -0800 (PST), JCG wrote:
> > On Wednesday, December 2, 2015 at 10:44:47 AM UTC-5, Matthew Flatt wrote:
> > > The development version of Racket now supports an incremental
> > > garbage-collection mode that can eliminate long pauses in a program.
> > > For example, incremental mode is useful for avoiding pauses in games
> > > and animations.
> > 
> > By chance then will the Dr. Racket environment itself honor the 
> > PLT_INCREMENTAL_GC variable and perhaps benefit from the less noticeable 
> > GC? 
> 
> Give it a try. I think you'll find that long pauses are reduced, but

Tried it with 50 GC observations with and without PLT_INCREMENTAL_GC. 

Without the environment variable, I had two major GCs of 1052ms and 1060ms and 
an average minor GC of 24ms.

With the environment variable set, I had one major GC of 488 ms and an average 
minor GC or 45ms.

It was definitely less jerky from a user standpoint.



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: reducing pauses with incremental GC

2015-12-03 Thread Matthew Flatt
At Wed, 2 Dec 2015 16:23:34 -0800 (PST), JCG wrote:
> On Wednesday, December 2, 2015 at 10:44:47 AM UTC-5, Matthew Flatt wrote:
> > The development version of Racket now supports an incremental
> > garbage-collection mode that can eliminate long pauses in a program.
> > For example, incremental mode is useful for avoiding pauses in games
> > and animations.
> 
> By chance then will the Dr. Racket environment itself honor the 
> PLT_INCREMENTAL_GC variable and perhaps benefit from the less noticeable GC? 

Give it a try. I think you'll find that long pauses are reduced, but
not eliminated. I also expect DrRacket's memory use to be higher,
especially at first, but it may smooth out. (It may end up slightly
smaller. It may go disasterously bad due to new opportunities for
fragmentation. I'm not sure!)

One obstacle is that memory accounting is not yet incremental, and
accounting is needed for DrRacket's "Limit Memory..." setting.
Accounting can be 1/4 or so of the time of a major GC. I don't yet know
how to make accounting fully incremental, although I have an idea that
may work well in many cases.

Another obstacle is that interaction with the background expansion task
can sometimes trigger a full collection early. That's likely to happen
once soon after starting DrRacket, but not frequently afterward (I
think).

Overall, enabling incremental mode in DrRacket is a goal, but I don't
think we're there, yet. If people try it out and report that it's
uniformly better, we could move sooner.

Matthew

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: reducing pauses with incremental GC

2015-12-02 Thread WarGrey Gyoudmon Ju
I think, always.
Because they like games too.

On Thu, Dec 3, 2015 at 2:35 AM, Jack Firth  wrote:

> Absolutely fantastic! I wonder how often language designers implement
> features useful to game developers because of their children.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Re: reducing pauses with incremental GC

2015-12-02 Thread JCG
On Wednesday, December 2, 2015 at 10:44:47 AM UTC-5, Matthew Flatt wrote:
> The development version of Racket now supports an incremental
> garbage-collection mode that can eliminate long pauses in a program.
> For example, incremental mode is useful for avoiding pauses in games
> and animations.

By chance then will the Dr. Racket environment itself honor the 
PLT_INCREMENTAL_GC variable and perhaps benefit from the less noticeable GC? 

Thanks for a good addition.
JG

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Re: reducing pauses with incremental GC

2015-12-02 Thread Jack Firth
Absolutely fantastic! I wonder how often language designers implement features 
useful to game developers because of their children.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.