-
Notifications
You must be signed in to change notification settings - Fork 37
Description
file html8 : 100MB random html pages from a 1m Alexa Top sites corpus.
Number of pages = 1178
Average length = 84886 bytes
The pages (length + content) are concatenated into a single html8 file,
but compressed/decompressed separately using the multiblock mode in TurboBench.
compress: page1,page2,...pageN
decompress : Page1,page2,...pageN
In the speedup (see below) plots you can see the best compressors for content providers:
- brotli 11 is best for static content
- brotli 5 is best until 1MB/s network transfer speed
- libdeflate 6 is best from 1MB/s to 6MB/s (followed by brotli,4)
- igzip 1,2 is best for very fast networks > 10MB/s
Remarks:
- Note that for web-content, the difference in decompression speed between zlib, brotli and others is practically imperceptible to the user.
- Actually there are only web server support for zlib, zlib_ng, slz and brotli.
- zstd is included only as reference as it is not compatible with web content encoding.
Unlike other benchmarks on the net, this is pure memory benchmark without any additional (http) server overhead.
Page Statistics:
Page Length: Minimum = 16kb, Maximum = 128kb
bits histogram:
15:######################## 24%
16:####################################### 39%
17:##################################### 37%
Lenovo Ideapad Pro 5 / CPU 7840HS 3.8-5.1GHz, DDR5 6400MHz
| C Size | R% | C MB/s | D MB/s | Name | C Mem | D Mem | C Stack | D Stack |
|---|---|---|---|---|---|---|---|---|
| 16457986 | 16.5 | 1.41 | 612.34 | brotli 11 | 10,629,680 | 247,672 | ||
| 18579017 | 18.6 | 60.35 | 703.56 | brotli 5 | 10,711,032 | 199,384 | ||
| 18996682 | 19.0 | 0.53 | 1787.41 | zstd 22 | 815,429,856 | 191,952 | ||
| 19615056 | 19.6 | 0.34 | 1003.78 | zopfli | 33,644,120 | 14,352 | ||
| 19766557 | 19.8 | 7.10 | 1661.60 | libdeflate 12 | 18,027,032 | 23,152 | ||
| 19971457 | 20.0 | 135.89 | 716.37 | brotli 4 | 10,153,192 | 198,904 | ||
| 19974358 | 20.0 | 5.64 | 2092.36 | zstd 15 | 72,091,872 | 191,952 | ||
| 20282366 | 20.3 | 96.65 | 1700.68 | libdeflate 9 | 1,336,592 | 23,152 | ||
| 20363869 | 20.4 | 55.00 | 687.49 | zlib 9 | 274,096 | 14,320 | ||
| 20451000 | 20.5 | 84.95 | 1130.76 | zlib_ng 9 | 36 GB | 778,098,680 | ||
| 20485533 | 20.5 | 92.93 | 682.52 | zlib 6 | 274,096 | 14,320 | ||
| 20502399 | 20.5 | 201.65 | 1702.04 | libdeflate 6 | 1,340,024 | 23,152 | ||
| 20568950 | 20.6 | 78.85 | 2004.33 | zstd 5 | 5,503,608 | 191,952 | ||
| 20592048 | 20.6 | 173.56 | 1141.23 | zlib_ng 6 | 36 GB! | 778,098,680 | ||
| 21624240 | 21.6 | 242.98 | 702.77 | brotli 2 | 9,235,608 | 231,792 | ||
| 22159165 | 22.2 | 434.23 | 1733.07 | libdeflate 1 | 407,544 | 23,152 | ||
| 22484852 | 22.5 | 370.72 | 1483.97 | igzip 3 | 696,336 | 0 | 7,340,032 | 7,340,032 |
| 22867303 | 22.9 | 374.92 | 2064.67 | zstd 1 | 1,374,840 | 191,952 | ||
| 23098360 | 23.1 | 766.27 | 1446.97 | igzip 2 | 663,568 | 0 | 7,340,032 | 7,340,032 |
| 23153034 | 23.2 | 518.39 | 678.09 | brotli 1 | 1,200,512 | 165,704 | ||
| 23287503 | 23.3 | 850.51 | 1444.42 | igzip 1 | 569,336 | 0 | 7,340,032 | 7,340,032 |
| 23723266 | 23.7 | 238.93 | 629.48 | zlib 1 | 274,096 | 14,320 | ||
| 25355327 | 25.4 | 982.05 | 1543.00 | igzip 0 | 1,032 | 0 | 7,340,032 | 7,340,032 |
| 28214601 | 28.2 | 573.26 | 692.20 | slz 6 | 0 | 14,320 | 65,536 | |
| 28214601 | 28.2 | 576.88 | 684.35 | slz 9 | 0 | 14,320 | 65,536 | |
| 29476316 | 29.5 | 587.78 | 679.40 | slz 1 | 1,032 | 14,320 | 65,536 | |
| 30040886 | 30.0 | 569.15 | 1078.03 | zlib_ng 1 | 25 GB | 778,098,680 |
R: Compression ratio
Mem: Heap Memory usage in bytes
Stack: Stack Memory usage in bytes
Zstd is added only as indication. There is actually no zstd content-encoding for the web
