
On Sun, Feb 28, 2010 at 10:03 AM, Heinrich Apfelmus
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