Let's look at this special type of object that only exists in C extensions called TypedData objects.| blog.peterzhu.ca
After wrapping up about the encoder optimizations in the previous post, we can now start talking about the parser side.| byroot’s blog
In the previous post, we established that as long as ruby/json wasn’t competitive on micro-benchmarks, public perception wouldn’t change. Since what made ruby/json appear so bad on micro-benchmarks was its setup cost, we had to find ways to reduce it further.| byroot’s blog
In the previous post, I covered how I reimplemented JSON::Generator::State#configure in Ruby and some other changes. Unfortunately, it didn’t go as well as I initially thought.| byroot’s blog
In the previous post, I covered my motivations for improving ruby/json’s performance, and detailed the first 4 notable optimizations applied to speed up JSON generation.| byroot’s blog
Ruby 3.2 saw the introduction of object shapes which speedup instance variables access in most cases, but can be slower in some pathological cases.| Rails at Scale