Articles by Noah Gibbs

Follow @noahgibbs on Github

How Fast is Ruby 3 on Rails?

If you’ve been following me awhile, you know that I was hired by AppFolio opens a new window years ago to measure Ruby 3’s performance, especially on Rails. This has been a long trip. And that very first project is finally over: Ruby 3 exists and I can check its final, released Rails performance.

If you have been following along, the numbers in this post won’t surprise you. But it’s important to do the final measurement. If you haven’t been following, this will bring you up to date.

Read more

How Fast are Ractors?

Ruby 3x3 is coming in about a month. One of its new concurrency primitives is Ractors opens a new window , which used to be called “Guilds.” (The other new concurrency primitive is Autofibers opens a new window .)

Ruby has a Global VM Lock (GVL) opens a new window , also called the Global Interpreter Lock (GIL), that prevents running Ruby code in more than one thread at once. So Ruby threads are great for I/O like waiting on files or databases. And they’re great for cases where a C extension can keep calculating in a background thread while a foreground thread runs Ruby. But you can’t do calculations in Ruby in more than one thread at once within the same process.

At least not until Ruby 3 and not without Ractors.

Great! Now how fast is the current implementation of Ractors?

Read more

What's the Best EC2 Instance Type for Rails Apps?

Do you ever look at the list of Amazon EC2 instance types? opens a new window . Those are sizes of virtual machine you can rent to run your code on. Well, okay, they’re groups of sizes, since each one of those headings has a bunch of different sizes of VM…

So what type of EC2 instances should you run your Rails app on?

The answer is simpler than it looks.

Do you love numbers? I love numbers. Do you hate numbers? Skip to the bottom, there’s a nice summary paragraph. Do you really really love numbers? There are raw data dumps opens a new window including all my intermediate results.

Read more

How's the Performance of Ruby 3.0.0-preview1?

The new Ruby 3.0 preview opens a new window is out! Woo-hoo!

If you’ve heard of me, you know performance is kinda my thing opens a new window , especially Rails performance on large apps opens a new window . I do other stuff too, but I got paid to do that for years (thanks, AppFolio!), so I’ve written a lot about it.

How does the new preview’s performance stack up on Rails? And how reliable are these numbers?

Read more
Get the book