An interesting commit is now available in PHP 7.0.2+; it provides access to zlib's manual dictionary functionality.
What's interesting about being able to inject a dictionary is removing the dictionary overhead of compression from individual items by using a shared one. This is ideal when you're storing data that both (1) isn't large enough to be reliably smaller when storing an ad hoc dictionary alongside the compressed data but (2) has enough duplication that compression sans dictionary will yield significant footprint savings.
Cache and serialized items stored in a database (or similar) are ideal for this: - It's easier to scale PHP process pools than the primary DB server. - Cache item size is a common bottleneck with the DB. - Serialized items in a table tend to have patterns that would benefit from a shared dictionary. - It actually may be cheaper even from PHP's perspective to inflate/deflate than handle more data over the wire. - Some items, like forms and views, can be over a megabyte in their uncompressed forms.
The only real challenge is picking the dictionary and, if it changes, providing versioning. However, even generating and shipping a static (but decent) dictionary per cache bin (or for serialized form data) would massively reduce storage, memory, and network overhead.
Should there be updates to a dictionary, it's possible to detect a mismatch and try an older dictionary. zlib will let you know there's an adler32 mismatch between the dictionary needed and the dictionary supplied.
Recent comments
Hi @Gnome and welcome to Backdrop When I create custom layout templates I put them in /layouts/custom/my_layout Note: you can split modules and layouts between contrib and custom...
My layout template (layout--blog.tpl.php) doesn't work
This post explains how to do this in Drupal 7. In Backdrop, File Entity is already part of core. You will need to download and install module Views Field View. https://drupal.stackexchange...
I Need to Display an Image in a View that was Uploaded to a Webform
After alot of trials, i have done the obvious and translated the whole block for different languages with each property condition as follows: ->propertyCondition('langcode', 'en...
How to get the current page language?