Top all-time · #1111
Rails at Scale
Company blog · railsatscale.comprogrammingsystems
Rails at Scale is the company blog at railsatscale.com, writing about programming and systems. Since 2023, 62 different Hacker News readers have linked it 116 times, most often “Ruby Outperforms C: Breaking the Catch-22”. It is still writing: the last post was on 2026-10-21, and you can follow it by feed.
Rarely recommended · 3 of 30 sampled comments recommend it?
Why HN links it
HN readers link the Rails at Scale blog, run by the Shopify Ruby team, for posts on Ruby performance, YJIT, the new Prism parser and Ruby release changes. It is cited often as support for claims about Ruby speed.
Summarised by Claude from a sample of 30 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
The Ruby and Rails Infrastructure team at Shopify exists to help ensure that Ruby and Rails are 100-year tools that will continue to merit being our toolchain of choice.
Most-linked posts?
- Ruby Outperforms C: Breaking the Catch-2214 people · 14 mentions · first linked 2023-08-29
- Interprocedural Sparse Conditional Type Propagation5 people · 5 mentions · first linked 2025-02-24
- Performance impact of the memoization idiom on modern Ruby5 people · 5 mentions · first linked 2023-10-24
- YJIT 3.4: Even Faster and More Memory-Efficient4 people · 5 mentions · first linked 2025-01-10
- One engine, many tools – Introducing Rubydex4 people · 4 mentions · first linked 2026-05-12
- Ruby 3.3's YJIT: Faster While Using Less Memory4 people · 4 mentions · first linked 2023-12-18
- Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster4 people · 4 mentions · first linked 2023-09-20
- Two Garbage Collection Improvements Made Our Storefronts 8% Faster3 people · 4 mentions · first linked 2023-08-08
- ZJIT has been merged into Ruby3 people · 4 mentions · first linked 2025-05-14
- Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 20243 people · 3 mentions · first linked 2024-07-23
What Hacker News says?
Excitingly, Ruby 3.3+ shipped with a new alternative parser called Prism[0]! See also: [1][2]. [0]: https://github.com/ruby/prism [1]: https://railsatscale.com/2023-06-12-rewriting-the-ruby-parse... [2]: https://railsatscale.com/2024-04-16-prism-in-2024/
Comment linking /2024-04-16-prism-in-2024/
on “Crafting Interpreters”Submitted Tiny JITs for a Faster FFI as a story · 316 points
HN discussionRuby 3.3 has made major improvements to the debugging experience: https://railsatscale.com/2023-12-19-irb-for-ruby-3-3/
Comment linking /2023-12-19-irb-for-ruby-3-3/
on “Ruby 3.3”Submitted Fast Allocations in Ruby 3.5 as a story · 267 points
HN discussionI haven't seen 80% anywhere in the linked article[0] so let's use facts and not beliefs. It is possible Ruby itself got accelerated a lot, okay, I am just not sure that's relevant since almost all Ruby usage is Rails. [0] https://railsatscale.com/2023-09-18-ruby-3-3-s-yjit-runs-sho...
Comment linking /2023-09-18-ruby-3-3-s-yjit-runs-shopify-s-production-code-15-faster/
on “Ruby 3.3”Submitted Unveiling the big leap in Ruby 3.3's IRB as a story · 210 points
HN discussion> “get into the 3x territory” Where are you seeing 3x improvement? Because even this graph from your article doesn’t show that, unless you’re comparing JIT vs non-JIT. But JIT has existed for awhile now (not new in 3.3). https://railsatscale.com/2023-12-04-ruby-3-3-s-yjit-faster-w...
Comment linking /2023-12-04-ruby-3-3-s-yjit-faster-while-using-less-memory/images/bars_optcarrot.png
on “Ruby 3.3”Submitted Autotuner: How to speed up your Rails app as a story · 183 points
HN discussionThis number is from a production workload with a significant chunk of IOs. If you look at CPU bound micro-benchmarks like most similar announcements uses, you easily get into the 3x territory: https://railsatscale.com/2023-12-04-ruby-3-3-s-yjit-faster-w...
Comment linking /2023-12-04-ruby-3-3-s-yjit-faster-while-using-less-memory/
on “Ruby 3.3”Submitted Next Generation Out of Band Garbage Collection as a story · 172 points
HN discussionI believe with version 3.3 Ruby is back in a big way! The language focused on developer happiness and derided for its slowness is slow no more. YJIT is an amazing technology, and together with other innovations like object shapes and various GC optimizations, Ruby is becoming seriously fast! Big Ruby shops such as Shopify [1] have been running 3.3 pre-release with YJIT and reporting double digit percentage performan…
Comment linking /2023-09-18-ruby-3-3-s-yjit-runs-shopify-s-production-code-15-faster/
on “Ruby 3.3”Submitted AI coding agents are removing programming language barriers as a story · 148 points
HN discussionJust-in-time compilation of Ruby allowing you to elide a lot of the overhead of dynamic language features + executing optimized machine code instead of running in the VM / bytecode interpreter. For example, doing some loop unrolling for a piece of code with a known & small-enough fixed-size iteration. As another example, doing away with some dynamic dispatch / method lookup for a call site, or inlining methods - esp…
Comment linking /2023-12-04-ruby-3-3-s-yjit-faster-while-using-less-memory/
on “Ruby 3.4.0”Submitted How Ruby executes JIT code as a story · 141 points
HN discussionMaybe "Ruby Outperforms C" was bait for "Outperforming a C extension" which is about the relative cost of calling C from Ruby? https://railsatscale.com/2023-08-29-ruby-outperforms-c/
Comment linking /2023-08-29-ruby-outperforms-c/
on “Tiny JITs for a Faster FFI”Submitted Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 2024 as a story · 140 points
HN discussionThere's a phenomenal breakdown by JPCamara ( https://jpcamara.com/2024/12/01/speeding-up-ruby.html ) on why the Ruby#each method was rewritten in Ruby ( https://bugs.ruby-lang.org/issues/20182 ). And bonus content from tender love: https://railsatscale.com/2023-08-29-ruby-outperforms-c/ . TL;dr - JIT rules.
Comment linking /2023-08-29-ruby-outperforms-c/
on “Tiny JITs for a Faster FFI”Submitted Interprocedural Sparse Conditional Type Propagation as a story · 70 points
HN discussionC itself is fast; it's calls to C from Ruby that are slow. [1] Crossing the Ruby -> C boundary means that a JIT compiler cannot optimize the code as much; because it cannot alter or inline the C code methods. Counterintuitively this means that rewriting (certain?) built-in methods in Ruby leads to performance gains when using YJIT. [2] [1]: https://railsatscale.com/2023-08-29-ruby-outperforms-c/ [2]: https://jpcamar…
Comment linking /2023-08-29-ruby-outperforms-c/
on “Fast Allocations in Ruby 3.5”Submitted ZJIT has been merged into Ruby as a story · 50 points
HN discussionCan someone explain, is YJIT being abandoned over the new ZJIT? [0] And if so, will these YJIT features likes Fast Allocations be brought to ZJIT? https://railsatscale.com/2025-05-14-merge-zjit/
Comment linking /2025-05-14-merge-zjit/
on “Fast Allocations in Ruby 3.5”Submitted Rewriting the Ruby Parser as a story · 47 points
HN discussion> actually, in some cases, it outperforms C -> https://railsatscale.com/2023-08-29-ruby-outperforms-c/ Bit of a clarification after reading the article - that article demonstrates a pure-Ruby implementation [0] outperforming a C extension [1], which is not what I had originally expected when first clicking on the link. [0]: https://github.com/tenderlove/tinygql [1]: https://github.com/rmosolgo/graphql-ruby/tree/mast…
Comment linking /2023-08-29-ruby-outperforms-c/
on “Ruby already solved my problem”Submitted Reworking Memory Management in CRuby as a story · 38 points
HN discussion> if you ignore performance man, people are still parroting decade old, incorrect talking points I see. Is ruby as performant as C, probably not, although, actually, in some cases, it outperforms C -> https://railsatscale.com/2023-08-29-ruby-outperforms-c/ One of the largest ecommerce apps in the world runs ruby, shopify. Ruby now has a JIT, there has been insane effort put into making ruby faster.
Comment linking /2023-08-29-ruby-outperforms-c/
on “Ruby already solved my problem”Submitted Ruby 3.3's YJIT: Faster While Using Less Memory as a story · 28 points
HN discussionI was actually hoping it would be four JITs and we'd get Tenderlove's tiny FFI JIT too. https://railsatscale.com/2025-02-12-tiny-jits-for-a-faster-f...
Comment linking /2025-02-12-tiny-jits-for-a-faster-ffi/
on “Ruby 4.0.0 Preview2”Submitted Prism (new Ruby parser) in 2024 as a story · 23 points
HN discussionFor those curious, this article is a good introduction to the topic: https://railsatscale.com/2023-10-24-memoization-pattern-and-...
Comment linking /2023-10-24-memoization-pattern-and-object-shapes/
on “The intricacies of implementing memoization in Ruby”Submitted Rails Is a JIT Compiler as a story · 13 points
HN discussion