(no title)
joelgwebber | 11 years ago
When I was helping Rovio port Angry Birds to the web a few years ago, we ran into serious frame hitches that were being triggered by GC pauses in Chrome. Two things fixed this -- the first was fixing a bug that caused it to run a full mark/sweep far too aggressively; but the second was when V8 committed an incremental collector (not concurrent, just able to spread the work out more by being able to run a partial mark/sweep and resume it later). After that, the GC pauses disappeared into tiny ~N00µs pauses that never impacted the game.
hedgehog|11 years ago
https://docs.google.com/document/d/16Y4IsnNRCN43Mx0NZc5YXZLo...
Go might eventually get a generational GC but my understanding is that that pretty much requires a copying GC and there are concerns with C interop (right now you can point to Go memory from C).
pcwalton|11 years ago
It does. Also note that incremental GC in Go is going to have different performance characteristics than incremental GC in JavaScript, because of the fact that Go's GC has to be thread-safe.
joelgwebber|11 years ago
/me crosses fingers.
agmcleod|11 years ago
Did the chrome developers have to fix v8 for that one?
joelgwebber|11 years ago