Top all-time · #2031
byroot’s blog
Personal blog · byroot.github.ioprogrammingsystems
byroot’s blog is a personal blog at byroot.github.io about programming and systems. Since 2024, 36 different Hacker News readers have linked it 54 times, most often “Database Protocols Are Underwhelming”. It is still writing: the last post was on 2026-08-13, and you can follow it by feed.
Too few sampled comments (8) to say how often HN recommends it.?
Why HN links it
Jean Boussier's technical posts on Ruby and Rails performance, covering JSON optimization, Ractors, frozen strings and whether Rails apps are IO-bound. HN readers link them as detailed performance writeups.
- Recommended for · 2 comments
- Called an excellent examination of CPU-bound Rails applications and a fantastic writeup on frozen strings in Ruby.
Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Various ramblings.
Most-linked posts?
- Database Protocols Are Underwhelming6 people · 6 mentions · first linked 2025-03-21
- Frozen String Literals: Past, Present, Future?5 people · 5 mentions · first linked 2025-10-28
- The Mythical IO-Bound Rails App4 people · 4 mentions · first linked 2025-01-23
- The Pitchfork Story4 people · 4 mentions · first linked 2025-03-04
- Optimizing Ruby's JSON, Part 13 people · 3 mentions · first linked 2024-12-18
- What's wrong with the JSON gem API?3 people · 3 mentions · first linked 2025-08-03
- What's the Deal with (Ruby) Ractors?3 people · 3 mentions · first linked 2025-02-27
- Shrinking Ruby Hashes3 people · 3 mentions · first linked 2026-08-06
- Optimizing Ruby's JSON, Part 23 people · 3 mentions · first linked 2024-12-18
- Unlocking Ractors: class instance variables in Ruby2 people · 2 mentions · first linked 2025-05-26
What Hacker News says?
Part 2 is available: https://byroot.github.io/ruby/json/2024/12/18/optimizing-rub...
Comment linking /ruby/json/2024/12/18/optimizing-ruby-json-part-2.html
on “Optimizing Ruby's JSON, Part 1”Submitted There isn't much point to HTTP/2 past the load balancer as a story · 334 points
HN discussionThere is a highly relevant follow-up post by the author here, too: https://byroot.github.io/ruby/performance/2025/01/23/io-inst...
Comment linking /ruby/performance/2025/01/23/io-instrumentation.html
on “The Mythical IO-Bound Rails App”Submitted Optimizing Ruby's JSON, Part 1 as a story · 271 points
HN discussionKind of answered in part 1 intro: https://byroot.github.io/ruby/json/2024/12/15/optimizing-rub...
Comment linking /ruby/json/2024/12/15/optimizing-ruby-json-part-1.html
on “Optimizing Ruby's JSON, Part 4”Submitted The Mythical IO-Bound Rails App as a story · 227 points
HN discussionRactors have promise but the implementations up till now haven't had strong concurrency safety. It seems in the latest release some of the heavy-hitter contributors like Jean Boussier (byroot) have taken a detailed look at Ractors and started to clean things up. https://byroot.github.io/ruby/performance/2025/05/24/unlocki...
Comment linking /ruby/performance/2025/05/24/unlocking-ractors-class-variables.html
on “Ruby 4.0.0 Preview2”Submitted Optimizing Ruby's JSON, Part 4 as a story · 213 points
HN discussionYep, I agree with this. Jean Boussier wrote this execellent examination of CPU bound Rails application and why making use of multi-processes is probably a good idea. Even if you're not using CPU bound it's still daft to leave performance on the table you don't need to. For the most part if something is a bit slower than it needs to be it still makes more sense to take the obvious bottle necks out before you rewrite…
Comment linking /ruby/performance/2025/01/23/the-mythical-io-bound-rails-app.html
on “How I Made Ruby Faster Than Ruby”Submitted Database Protocols Are Underwhelming as a story · 114 points
HN discussion> They aren't interned frozen strings Doesn't matter. The parent claim was: > You'd just have a broken VM if you used mutable strings for metaprogramming in Ruby From day one it was possible to freeze strings used in metaprograming. I mean Ruby Hashes do that to strings keys. > Ruby 3.4 making it unnecessary because it is on by default. That's incorrect: https://byroot.github.io/ruby/performance/2025/10/28/string-...
Comment linking /ruby/performance/2025/10/28/string-literals.html
on “Ruby Symbols”Submitted Unlocking Ractors: class instance variables in Ruby as a story · 82 points
HN discussionHere's a fantastic writeup about frozen strings in Ruby and the upcoming changes: https://byroot.github.io/ruby/performance/2025/10/28/string-...
Comment linking /ruby/performance/2025/10/28/string-literals.html
on “Ruby Symbols”Submitted Frozen String Literals: Past, Present, Future? as a story · 78 points
HN discussionProbably worth linking to https://byroot.github.io/ruby/performance/2025/02/27/whats-t... in which Jean goes into further detail about some of nuances that go into building these types of data structures. In particular it is mentioned "For Ractors to be viable to run a full-on application in, Ruby would need to provide at least a few basic data structures that would be shareable across ractors, so that we can implem…
Comment linking /ruby/performance/2025/02/27/whats-the-deal-with-ractors.html
on “Ratomic: Provides Mutable data structures for use with Ruby's Ractors”Submitted Unlocking Ractors: Object_id as a story · 78 points
HN discussionSubmitted Dear Rubyists: Shopify Isn't Your Enemy as a story · 67 points
HN discussionSubmitted What's wrong with the JSON gem API? as a story · 63 points
HN discussionSubmitted What's the Deal with (Ruby) Ractors? as a story · 16 points
HN discussionSubmitted The Mythical IO-Bound Rails App as a story · 16 points
HN discussionSubmitted Optimizing Ruby's JSON, Part 7 as a story · 10 points
HN discussionSubmitted So you want to remove the Ruby GVL as a story · 9 points
HN discussionSubmitted The Mythical IO-Bound Rails App as a story · 8 points
HN discussionSubmitted The Pitchfork Story as a story · 7 points
HN discussionSubmitted Optimizing Ruby's JSON, Part 5 as a story · 7 points
HN discussionSubmitted Ruby Frozen String Literals: Past, Present, Future? as a story · 6 points
HN discussionSubmitted Ruby: Unlocking Ractors: generic instance variables as a story · 6 points
HN discussionSubmitted Database Protocols Are Underwhelming as a story · 5 points
HN discussionSubmitted Why Does Everyone Hate Fork(2)? as a story · 5 points
HN discussionSubmitted The Pitchfork Story as a story · 5 points
HN discussion