Hello Nick/Sergey, Any suggestion or comments, so that we can change code and resend the patch? > Hi Nick / Sergey, > > > We have compared LZ4 Dyn with Original LZ4 using some samples of realtime application data(4Kb) > compressed/decompressed by ZRAM. For comparison we have used lzbench (https://github.com/inikep/lzbench) > we have implemented dedicated LZ4 Dyn API & kept last literal length as 6 to avoid overhead > of checks. It seems in average case there is a saving of 3~4% in compression ratio with almost same compression > speed and minor loss in decompression speed (~50MB/s) when compared with LZ4. > > Comparison of Lz4 Dyn with LZO1x is also done as LZO1x is default compressor of ZRAM. > > Original LZ4: > sh-3.2# ./lzbench -r -elz4 data/ > lzbench 1.7.3 (32-bit Linux) Assembled by P.Skibinski > Compressor name Compress. Decompress. Compr. size Ratio Filename > memcpy 2205 MB/s 2217 MB/s 4096 100.00 data//data_1 > lz4 1.8.0 216 MB/s 761 MB/s 2433 59.40 data//data_1 > lz4 1.8.0 269 MB/s 877 MB/s 1873 45.73 data//data_2 > lz4 1.8.0 238 MB/s 575 MB/s 2060 50.29 data//data_3 > lz4 1.8.0 321 MB/s 1015 MB/s 1464 35.74 data//data_4 > lz4 1.8.0 464 MB/s 1090 MB/s 713 17.41 data//data_5 > lz4 1.8.0 296 MB/s 956 MB/s 1597 38.99 data//data_6 > lz4 1.8.0 338 MB/s 994 MB/s 2238 54.64 data//data_7 > lz4 1.8.0 705 MB/s 1172 MB/s 193 4.71 data//data_8 > lz4 1.8.0 404 MB/s 1150 MB/s 1097 26.78 data//data_9 > lz4 1.8.0 216 MB/s 921 MB/s 3183 77.71 data//data_10 > lz4 1.8.0 456 MB/s 1101 MB/s 1011 24.68 data//data_11 > lz4 1.8.0 867 MB/s 1202 MB/s 37 0.90 data//data_12 > > > LZ4 Dynamic Offet: > sh-3.2# ./lzbench -r -elz4_dyn data/ > lzbench 1.7.3 (32-bit Linux) Assembled by P.Skibinski > Compressor name Compress. Decompress. Compr. size Ratio Filename > memcpy 2203 MB/s 2218 MB/s 4096 100.00 data//data_1 > lz4 1.8.0 218 MB/s 693 MB/s 2228 54.39 data//data_1 > lz4 1.8.0 273 MB/s 851 MB/s 1739 42.46 data//data_2 > lz4 1.8.0 230 MB/s 526 MB/s 1800 43.95 data//data_3 > lz4 1.8.0 321 MB/s 952 MB/s 1357 33.13 data//data_4 > lz4 1.8.0 470 MB/s 1075 MB/s 664 16.21 data//data_5 > lz4 1.8.0 303 MB/s 964 MB/s 1455 35.52 data//data_6 > lz4 1.8.0 345 MB/s 951 MB/s 2126 51.90 data//data_7 > lz4 1.8.0 744 MB/s 1163 MB/s 177 4.32 data//data_8 > lz4 1.8.0 409 MB/s 1257 MB/s 1033 25.22 data//data_9 > lz4 1.8.0 220 MB/s 857 MB/s 3049 74.44 data//data_10 > lz4 1.8.0 464 MB/s 1105 MB/s 934 22.80 data//data_11 > lz4 1.8.0 874 MB/s 1194 MB/s 36 0.88 data//data_12 > > > LZ4 Dynamic Offset with 32K data: > sh-3.2# ./lzbench -elz4_dyn data/data32k > lzbench 1.7.3 (32-bit Linux) Assembled by P.Skibinski > Compressor name Compress. Decompress. Compr. size Ratio Filename > memcpy 5285 MB/s 5283 MB/s 32768 100.00 data/data32k > lz4 1.8.0 274 MB/s 995 MB/s 13435 41.00 data/data32k > done... (cIters=1 dIters=1 cTime=1.0 dTime=2.0 chunkSize=1706MB cSpeed=0MB) > > Original LZ4 with 32K data: > sh-3.2# ./lzbench_orig -elz4 data/data32k > lzbench 1.7.3 (32-bit Linux) Assembled by P.Skibinski > Compressor name Compress. Decompress. Compr. size Ratio Filename > memcpy 4918 MB/s 5108 MB/s 32768 100.00 data/data32k > lz4 1.8.0 276 MB/s 1045 MB/s 14492 44.23 data/data32k > > LZO1x with 32K data (Default Compressor for ZRAM): > sh-3.2# ./lzbench -elzo1x,1 data/data32k > lzbench 1.7.3 (32-bit Linux) Assembled by P.Skibinski > Compressor name Compress. Decompress. Compr. size Ratio Filename > memcpy 5273 MB/s 5320 MB/s 32768 100.00 data/data32k > lzo1x 2.09 -1 283 MB/s 465 MB/s 14292 43.62 data/data32k > > Regards, > Vaneet Narang Thanks.