Memory bloat in Ruby happens when someone loads a lot of data to the memory. Ruby Virtual Machine does not return most of the allocated memory to the operating system even after data is collected as a garbage. It’s not a big deal for local development or console programs, but if you have a bloat in the big Rails app it might cost you a lot of money.
It is quite easy to find a fix memory bloat when it happens, but can we prevent it?
Java does use string interning for constants. It can help in any case when you have a lot of instances of the same string (and when you need to compare that strings)
Great post! By the way, the reason why ar_lazy_preload exists is that neither me nor anyone else around me heard about goldiloader at the moment when ar_lazy_preload was created
It is quite easy to find a fix memory bloat when it happens, but can we prevent it?