[Haskell-cafe] Re: Real-time garbage collection for Haskell

Derek Elkins derek.a.elkins at gmail.com
Sun Feb 28 13:35:10 EST 2010


On Sun, Feb 28, 2010 at 10:03 AM, Heinrich Apfelmus
<apfelmus at quantentunnel.de> wrote:
> Luke Palmer wrote:
>> I have seen some proposals around here for SoC projects and other
>> things to try to improve the latency of GHC's garbage collector.  I'm
>> currently developing a game in Haskell, and even 100ms pauses are
>> unacceptable for a real-time game.  I'm calling out to people who have
>> seen or made such proposals, because I would be willing to contribute
>> funding and/or mentor a project that would contribute to this goal.
>>
>> Also any ideas for reducing this latency in other ways would be very
>> appreciated.
>
> Overly long garbage collection might also be a sign of space leaks.
>
> But there are many other things that can go wrong in a real time system
> and might explain your delays. For example, you might need to avoid
> amortized time data structures like  Data.Sequence . Or for physics
> simulations, you'd need to fix the time step ∆t, as described in
>
>   http://gafferongames.com/game-physics/fix-your-timestep/
>
> or numerical integration will deteriorate rather quickly.

Incidentally, what's described there is a simplified version of the
frequency locked loops described in Massalin's thesis on Synthesis OS,
and it is used there for about the same purpose in a soft real-time
context.

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871


More information about the Haskell-Cafe mailing list