Recent Posts

Apr 24, 2024

Autotuner: How to Speed Up Your Rails App

Ruby's garbage collector is designed to be adaptable, scaling from short Ruby scripts to running apps that serve millions of requests per second. While it's designed to be adaptable, it may not work optimally for every use case. For this reason, Ruby's garbage collector supports many parameters that can be used to tune it. However, the use of these parameters requires knowledge into how the garbage collector works on the inside. Learn how the Autotuner gem can analyze your app's traffic and provide suggestions for tuning the garbage collector.

Aug 08, 2023

Two Garbage Collection Improvements Made Our Storefronts 8% Faster

At Shopify, we are constantly improving the performance of Ruby for everyone. Based on analysis of and experiments on one of our largest and highest traffic apps, we found two improvements in Ruby's garbage collector that significantly improved our garbage collector performance, which in turn reduced our response times by 8%.

Nov 20, 2020

The Ruby Inplace Bug

A story about memory corruption inside Ruby when you create strings the wrong way.

Nov 04, 2020

Creating Ruby Strings in C

There are many different ways to create Ruby strings in C, and choosing the wrong one can have catastrophic effects. So which one do you choose?