Add zstd http channel output compression #30297
Labels
enhancement
Feature Request: External
A feature request opened by an external contributor. Should not be used by Open Liberty developers.
Needs member attention
Describe the use case that you want to enable:
Currently, for compression (see #30295 and https://openliberty.io/docs/latest/reference/config/compression.html), only those options are available:
Common browser requests include:
Accept-Encoding: gzip, deflate, br, zstd
Thus, brotli and zstd would be viable options to add.
However, brotli is not that wide-spread, e.g. it is not part of the AIX toolbox while zstd is.
Brotli is usually not in the base packages of most linux distributions, while zstd nowadays is more likely part of it.
zstd also gives consistently better compression for less time in my experience.
Describe why this is important to you:
Using gzip and/or deflate is a waste of CPU compared to modern algorithms.
If many Open Liberty users adapted this, a lot of CPU cycles would be saved world wide.
Additional context
Here is a sample compressing a 7 MiB javascript file (chunk - vendors), typically delivered from any random web app.
As you can see, even the optimized AIX version is not on par with zstd, lz4 is not widely supported by browsers which doesn't make it a viable option either.
This test is not representative in any means, YMMV.
Results Mac M1
Results AIX 7.3
Results Linux SLES15
IBM Ideas
https://ideas.ibm.com/ideas/LIBERTY-I-144
The text was updated successfully, but these errors were encountered: