I'm seeing a lot of disappointment about the speed of Ruby 3 out there. I think there are a lot of reasons for that, and I think they're worth looking at. So: why wasn't Ruby 3 faster? Did it break its promise?
See, when people talk about Ruby parallelism and concurrency usually the conversation is quickly curtailed by the first person who screams “But the GIL! So there is no parallelism!” and then the room falls silent. In practice the situation is much more nuanced, and gaining a better understanding of the nuances will make your Ruby programs faster, more efficient and let you use less compute.