8 comments

[ 3.3 ms ] story [ 23.4 ms ] thread
If that compression is internal-only, i'd start looking at zstd, which is much better at both speed and compression level
From TFA:

> Optionally, you can hook up a custom compression algorithm. For example, Google Snappy offers even better performance than Brotli for the cost of worse compression ratios. ZSTD by Facebook is also worth checking out.

(...)

> The great news is that support for custom cache compression algorithms has recently been merged into the Rails main branch. But it may take a while before it’s available in a production Rails release.

Upcoming in Rails 7.1, you can specify a custom compressor for your cache, out of the box. See the `:compressor` option of `ActiveSupport::Cache::Store.new`:

https://api.rubyonrails.org/v7.1/classes/ActiveSupport/Cache...

Thanks, I wasn't sure when it will be live. I'll update the post to reflect it.
Thanks for this. Will likely defer until this lands, but looking forward to trying out Brotli and Zstd for this use case!
Important to understand about Brotli vs. other compression is that Brotli has been pretrained with HTML/CSS/JS code. It efficiently compresses English text and source code, especially small files, due to its static dictionary.

https://chromium.googlesource.com/external/font-compression-...

There are other factors that make Brotli good, but this is good to understand when dealing with web frontends.