# Adventures in Garbage Collection: Improving GC Performance in our Massive Monolith

DevFeed: [Adventures in Garbage Collection: Improving GC Performance in our Massive Monolith](<https://devfeed.tech/articles/adventures-in-garbage-collection-improving-gc-performance-in-our-massive-monolith-1291.md>)

Original publisher: [Read original article](<https://shopify.engineering/adventures-in-garbage-collection>)

Author: Jean Boussier

Published: 2023-04-06T14:30:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [latency](<https://devfeed.tech/tags/latency.md>), [logging](<https://devfeed.tech/tags/logging.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [shopify](<https://devfeed.tech/tags/shopify.md>)

## AI overview

Shopify describes experiments to reduce the latency impact of Ruby garbage collection in its monolith. The article explains an iterative process of improving logging and metrics, forming hypotheses, testing and shipping changes, and evaluating whether to keep, adjust, or revert them. It also warns against changing garbage-collection settings without reliable performance measurements.

## Source excerpt

At the beginning of this year, we ran several experiments aimed at reducing the latency impact of the Ruby garbage collector (GC) in Shopify's monolith. In this article, Jean talks about the changes we made to improve GC performance, and more importantly, how we got to these changes.