4 ms·
Game development was a major driver for the design of Skip but for another reason: the GC. The big problem with languages with GC is that it is impredictable:
by vjeux 8y ago
Game development was a major driver for the design of Skip but for another reason: the GC.
The big problem with languages with GC is that it is impredictable: when the amount of allocated memory globally passes a certain threshold, then a GC pass happens and it’s unclear how much time it’ll take and you may miss your frame.
The idea of Skip is that GC always or never triggers for some functions. So if while you're developing your game/app the time it takes to GC is within the bounds you wanted, then it’ll keep behaving this way in production.
If it is too expensive for your use case, then you can optimize that specific function (and what it calls) using a profiler. You don’t have to think about the context of the entire app to figure out how to reduce GC pauses.