Skip to content

Reduce the Ruby compiler's memory usage

Yorick Peterse requested to merge compiler-memory-usage into master

Even for an unoptimised and hastily written compiler, the Ruby compiler was using a bit too much memory. For desktop environments this is not a problem, but for memory constrained containers it can cause trouble; especially when running containers in parallel.

This commit applies various optimisations to the Ruby compiler to reduce its memory usage. Most notably the bytecode serialiser has been changed quite a bit to not allocate String objects unless truly necessary.

These changes combined reduce memory usage by about 20%.

Merge request reports