An Unusual Performance Optimization

How wondering about an odd benchmark result led to better performance

I regularly run the HexaPDF benchmarks to make sure that HexaPDF gets faster and not slower. One of the benchmarks, the “raw_text” benchmark, always had me wondering why using TrueType fonts was visibly slower. So I decided to investigate.

Benchmarking Ruby 2.4 to 3.0

Benchmarking Ruby version with three different benchmarks

I ran some benchmarks using HexaPDF after Ruby 2.4 was released in 2016 and again after Ruby 2.5 was releasd in 2017. Since Ruby 3.0.0 was released this Christmas, I think this warrants another round of benchmarks. And this time three different real-world benchmarks are used to evaluate relative Ruby performance.

On maintaining webgen

Why I still maintain my static website generator webgen

My static website generator webgen has been around for a long time. Though there are now many other static website generators written in Ruby, I still maintain webgen because some of its functionality is unique.

kramdown 2.0 and beyond

Splitting kramdown into multiple parts to ease maintenance

The kramdown project has become an umbrella project for many parsers, converters, math engines, … It is time to split things apart to make them more manageable and have faster release cycles.