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 Editing I see this: The CSS looks like this: /* Level 1: Standard Numbers */ .field-name-body ol { list-style-type: decimal; } /* Level 2: Lowercase Letters */ .field...
Numbered List format is different when editing
Done: https://github.com/backdrop/backdrop-issues/issues/7097 Feel free to edit it with better technical language. I'll have ago at vaccinating it but I'm only a user and the...
Numbered List format is different when editing
Hi Mike. That looks like a bug. The CKE ordered lists when editing have the correct CSS to format those lists correctly, but when Backdrop displays the body field in Basis, it doesn't...
Numbered List format is different when editing