Top all-time · #3705
On the Edge of Ruby
Personal blog · eregon.me/blog · on HN as eregonprogramming
On the Edge of Ruby is a personal blog at eregon.me about programming. Since 2016, 21 different Hacker News readers have linked it 28 times, most often “Benchmarking CRuby, MJIT, YJIT, JRuby, and TruffleRuby”. It is still writing: the last post was on 2025-05-02, and you can follow it by feed.
Too few sampled comments (11) to say how often HN recommends it.?
Why HN links it
HN readers cite this blog's posts on Ruby implementation benchmarks (CRuby MJIT/YJIT against TruffleRuby, Ruby 2.6 to 3.2) and on Artichoke's Ruby spec compatibility as data sources in discussions of Ruby performance.
Summarised by Claude from a sample of 11 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Benchmarking CRuby, MJIT, YJIT, JRuby, and TruffleRuby10 people · 10 mentions · first linked 2022-01-06
- The Ruby Spec Suite Compatibility Report4 people · 5 mentions · first linked 2020-06-29
- Benchmarking Ruby Parsers2 people · 2 mentions · first linked 2024-10-29
- TruffleRuby Native: Fast Even for Short Scripts2 people · 2 mentions · first linked 2018-02-19
- Running Optcarrot, a Ruby NES Emulator, at 150 Fps with the GUI2 people · 2 mentions · first linked 2016-11-28
- Matching Regexps 200 Times Faster2 people · 2 mentions · first linked 2025-03-14
What Hacker News says?
Artichoke is interesting, but it's still really young and doesn't have a lot of compatibility with MRuby yet: https://eregon.me/blog/2020/06/27/ruby-spec-compatibility-re... I don't know of any reason it can't grow to be much more compatible. There's a 2019 video about Artichoke: https://www.youtube.com/watch?v=QMni48MBqFw
Comment linking /blog/2020/06/27/ruby-spec-compatibility-report.html
on “Artichoke is a Ruby made with Rust that compiles to WebAssembly”Submitted Benchmarking CRuby, MJIT, YJIT, JRuby, and TruffleRuby as a story · 91 points
HN discussionI don't think it runs Optcarrot (the current most prominent Ruby benchmark) otherwise it'd be listed here https://github.com/mame/optcarrot . It doesn't have a lot of compatibility with standard Ruby yet according to https://eregon.me/blog/2020/06/27/ruby-spec-compatibility-re... which could be why it doesn't run it. But it's a really exciting project!
Comment linking /blog/2020/06/27/ruby-spec-compatibility-report.html
on “Artichoke is a Ruby made with Rust that compiles to WebAssembly”Submitted Running Optcarrot, a Ruby NES Emulator, at 150 Fps with the GUI as a story · 59 points
HN discussionHere's a benchmark [1] done in Jan'22 against many ruby implementations, truffleRuby [2] seems to be way ahead in most, and at least ahead in all. Why truffleRuby isn't talk about much here? [1] https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj... [2] https://github.com/oracle/truffleruby
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Ruby YJIT Ported to Rust”Submitted Benchmarking Ruby Parsers as a story · 31 points
HN discussionHere, I don't know all the details, just remember having seen some talks about this in the past. It builds on top of this effort, https://medium.com/graalvm/graalvm-llvm-toolchain-f606f995bf "From Interpreting C Extensions to Compiling Them" https://eregon.me/blog/assets/research/from-interpreting-c-e...
Comment linking /blog/assets/research/from-interpreting-c-extensions-to-compiling-them.pdf
on “SPy: An interpreter and compiler for a fast statically typed variant of Python”Submitted Matching Regexps 200 Times Faster as a story · 28 points
HN discussionHere is a bit of a critical read of this blog post, from the point of view of alternative Ruby implementations: > instead of having to ship an entire language runtime to production Except they ship the CRuby language runtime in production. Ruby is not a language that can run without a runtime. > Not only did we not need Java VM-level interoperability So they almost discard the entire idea because they don't need a s…
Comment linking /blog/2020/06/27/ruby-spec-compatibility-report.html
on “Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby”Submitted Contributions to Ruby/spec by Ruby implementation as a story · 5 points
HN discussion> the newly added Ruby jit that you can optionally turn on is faster than Graal No TruffleRuby is still very much faster than any other Ruby JIT. YJIT does startup faster yes that's the goal. https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj...
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “GraalVM 22.1: Developer experience improvements, Apple Silicon builds, and more”Submitted Matching Ruby Regexps 200 Times Faster as a story · 5 points
HN discussionHowdy, I'm on the Shopify team that is working on both pitchfork and a few different performance-improvement projects for Ruby. There's a ton of activity around Ruby performance right now! I think we're entering a period of increased experimentation and rapid evolution as demonstrated by projects like YJIT[1][2], improved inline caching[3][4] and Object Shapes[5] (also used by V8), and variable-width allocation[6][7…
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Pitchfork: Rack HTTP server for shared-nothing architecture”Submitted TruffleRuby Native: Fast Even for Short Scripts as a story · 4 points
HN discussionStartup is likely to be worse, because it typically runs a lot of different code for not long and the JIT might not have enough time to optimize much of that. OTOH the JIT needs to learn what the program is doing, i.e., profile it in a sense, and that has a cost on interpreter speed. Still these numbers are worse than expected, especially [object validation], so if there is a way to reproduce it'd be great if you ca…
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Benchmarking CRuby, MJIT, YJIT, JRuby, and TruffleRuby”Submitted Benchmarking Ruby Parsers as a story · 2 points
HN discussionThe author pans meta-tracing and shows a graph of TruffleRuby having really crazy runtime behavior. However, it looks extremely suspicious - like the kind of thing you'd see if there was a memory leak and the garbage collector was running constantly. Most people seem really excited about the results coming out of Graal and TruffleRuby seems to have some really impressive results in general, so the graph is surprisin…
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “The missing tier for query compilers”Submitted The Delegation Challenge of Ruby 2.7 as a story · 2 points
HN discussionI don't quite understand the YJIT excitement. A few benchmarks show that TruffleRuby generally beats YJIT, sometimes by a 10x margin. [0]: https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj... says
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Ruby 3.2’s YJIT is Production-Ready”Submitted TruffleRuby's Startup Time Became Faster Than MRI's as a story · 2 points
HN discussionTruffleRuby is leading the pack here: https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj...
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Benchmarking Ruby 2.6 to 3.2”Submitted TruffleRuby Native: Fast Even for Short Scripts as a story · 2 points
HN discussionI haven't stayed up to date, but last benchmarks I saw, truffleruby was not just faster than any other implementation, it was significantly so in many cases . It would be interesting to see if the results hold up in larger scale real world usage. https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj...
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Mastodon on TruffleRuby just works now”Submitted Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby (2022) as a story · 1 points
HN discussionThere are lots. Usually these days, also comparing with TruffleRuby, which also runs on the JVM. This one is a couple years old now but you get the idea: https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj... I don't know where to find more up to date benchmarks.
Comment linking /blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
on “Java 21 makes me like Java again”Submitted The Ruby Spec Suite Compatibility Report as a story · 1 points
HN discussionSubmitted The Ruby Spec Suite Compatibility Report as a story · 1 points
HN discussionSubmitted Running Optcarrot, a Ruby NES Emulator, at 150 FPS with the GUI as a story · 1 points
HN discussion