Skip to content

Commit ce43731

Browse files
committed
Refresh benchmark results for zxc 0.8.0
Updates performance and compression ratio figures for `zxc` from version 0.7.1 to 0.8.0 across all benchmark tables.
1 parent d01bfa1 commit ce43731

19 files changed

+148
-146
lines changed

README.md

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -54,31 +54,31 @@ We monitor metrics on both **x86_64** (Linux) and **ARM64** (Apple Silicon M2) r
5454

5555
| Target | ZXC vs Competitor | Decompression Speed | Ratio | Verdict |
5656
| :--- | :--- | :--- | :--- | :--- |
57-
| **1. Max Speed** | **ZXC -1** vs *LZ4 --fast* | **11,045 MB/s** vs 5,651 MB/s **1.95x Faster** | **61.2** vs 62.2 **Smaller** (-1.5%) | **ZXC** leads in raw throughput. |
58-
| **2. Standard** | **ZXC -3** vs *LZ4 Default* | **6,948 MB/s** vs 4,802 MB/s **1.45x Faster** | **46.5** vs 47.6 **Smaller** (-2.4%) | **ZXC** outperforms LZ4 in read speed and ratio. |
59-
| **3. High Density** | **ZXC -5** vs *Zstd --fast 1* | **6,072 MB/s** vs 2,159 MB/s **2.81x Faster** | **40.7** vs 41.0 **Equivalent** (-0.9%) | **ZXC** outperforms Zstd in decoding speed. |
57+
| **1. Max Speed** | **ZXC -1** vs *LZ4 --fast* | **11,934 MB/s** vs 5,647 MB/s **2.11x Faster** | **61.5** vs 62.2 **Smaller** (-1.0%) | **ZXC** leads in raw throughput. |
58+
| **2. Standard** | **ZXC -3** vs *LZ4 Default* | **6,925 MB/s** vs 4,804 MB/s **1.44x Faster** | **46.4** vs 47.6 **Smaller** (-2.6%) | **ZXC** outperforms LZ4 in read speed and ratio. |
59+
| **3. High Density** | **ZXC -5** vs *Zstd --fast 1* | **6,090 MB/s** vs 2,167 MB/s **2.81x Faster** | **40.6** vs 41.0 **Equivalent** (-1.0%) | **ZXC** outperforms Zstd in decoding speed. |
6060

6161
### 2. Cloud Server: Google Axion (ARM Neoverse V2)
6262
*Scenario: High-throughput Microservices, ARM Cloud Instances.*
6363

6464
| Target | ZXC vs Competitor | Decompression Speed | Ratio | Verdict |
6565
| :--- | :--- | :--- | :--- | :--- |
66-
| **1. Max Speed** | **ZXC -1** vs *LZ4 --fast* | **8,437 MB/s** vs 4,847 MB/s **1.74x Faster** | **61.2** vs 62.2 **Smaller** (-1.5%) | **ZXC** leads in raw throughput. |
67-
| **2. Standard** | **ZXC -3** vs *LZ4 Default* | **5,215 MB/s** vs 4,151 MB/s **1.26x Faster** | **46.5** vs 47.6 **Smaller** (-2.4%) | **ZXC** outperforms LZ4 in read speed and ratio. |
68-
| **3. High Density** | **ZXC -5** vs *Zstd --fast 1* | **4,509 MB/s** vs 1,748 MB/s **2.58x Faster** | **40.7** vs 41.0 **Equivalent** (-0.9%) | **ZXC** outperforms Zstd in decoding speed. |
66+
| **1. Max Speed** | **ZXC -1** vs *LZ4 --fast* | **8,727 MB/s** vs 4,868 MB/s **1.79x Faster** | **61.5** vs 62.2 **Smaller** (-1.0%) | **ZXC** leads in raw throughput. |
67+
| **2. Standard** | **ZXC -3** vs *LZ4 Default* | **5,130 MB/s** vs 4,182 MB/s **1.23x Faster** | **46.4** vs 47.6 **Smaller** (-2.6%) | **ZXC** outperforms LZ4 in read speed and ratio. |
68+
| **3. High Density** | **ZXC -5** vs *Zstd --fast 1* | **4,475 MB/s** vs 1,763 MB/s **2.54x Faster** | **40.6** vs 41.0 **Equivalent** (-1.0%) | **ZXC** outperforms Zstd in decoding speed. |
6969

7070
### 3. Build Server: x86_64 (AMD EPYC 7763)
7171
*Scenario: CI/CD Pipelines compatibility.*
7272

7373
| Target | ZXC vs Competitor | Decompression Speed | Ratio | Verdict |
7474
| :--- | :--- | :--- | :--- | :--- |
75-
| **1. Max Speed** | **ZXC -1** vs *LZ4 --fast* | **6,233 MB/s** vs 4,109 MB/s **1.52x Faster** | **61.2** vs 62.2 **Smaller** (-1.5%) | **ZXC** achieves higher throughput. |
76-
| **2. Standard** | **ZXC -3** vs *LZ4 Default* | **3,814 MB/s** vs 3,555 MB/s **1.07x Faster** | **46.5** vs 47.6 **Smaller** (-2.4%) | ZXC offers improved speed and ratio. |
77-
| **3. High Density** | **ZXC -5** vs *Zstd --fast 1* | **3,448 MB/s** vs 1,572 MB/s **2.19x Faster** | **40.7** vs 41.0 **Equivalent** (-0.9%) | **ZXC** provides faster decoding. |
75+
| **1. Max Speed** | **ZXC -1** vs *LZ4 --fast* | **6,779 MB/s** vs 4,116 MB/s **1.65x Faster** | **61.5** vs 62.2 **Smaller** (-1.0%) | **ZXC** achieves higher throughput. |
76+
| **2. Standard** | **ZXC -3** vs *LZ4 Default* | **3,849 MB/s** vs 3,573 MB/s **1.08x Faster** | **46.4** vs 47.6 **Smaller** (-2.6%) | ZXC offers improved speed and ratio. |
77+
| **3. High Density** | **ZXC -5** vs *Zstd --fast 1* | **3,495 MB/s** vs 1,573 MB/s **2.22x Faster** | **40.6** vs 41.0 **Equivalent** (-1.0%) | **ZXC** provides faster decoding. |
7878

7979

8080
*(Benchmark Graph ARM64 : Decompression Throughput & Storage Ratio (Normalized to LZ4))*
81-
![Benchmark Graph ARM64](docs/images/benchmark_arm64_0.7.1.webp)
81+
![Benchmark Graph ARM64](docs/images/benchmark_arm64_0.8.0.webp)
8282

8383

8484
### Benchmark ARM64 (Apple Silicon)
@@ -87,39 +87,41 @@ Benchmarks were conducted using lzbench 2.2.1 (from @inikep), compiled with Clan
8787

8888
| Compressor name | Compression| Decompress.| Compr. size | Ratio | Filename |
8989
| --------------- | -----------| -----------| ----------- | ----- | -------- |
90-
| memcpy | 52833 MB/s | 52754 MB/s | 211938580 |100.00 | 12 files|
91-
| **zxc 0.7.1 -1** | 913 MB/s | **11045 MB/s** | 129770958 | **61.23** | 12 files|
92-
| **zxc 0.7.1 -2** | 608 MB/s | **8974 MB/s** | 115921778 | **54.70** | 12 files|
93-
| **zxc 0.7.1 -3** | 180 MB/s | **6948 MB/s** | 98472307 | **46.46** | 12 files|
94-
| **zxc 0.7.1 -4** | 123 MB/s | **6599 MB/s** | 92027546 | **43.42** | 12 files|
95-
| **zxc 0.7.1 -5** | 65.2 MB/s | **6072 MB/s** | 86177811 | **40.66** | 12 files|
96-
| lz4 1.10.0 | 814 MB/s | 4802 MB/s | 100880147 | 47.60 | 12 files|
97-
| lz4 1.10.0 --fast -17 | 1342 MB/s | 5651 MB/s | 131723524 | 62.15 | 12 files|
98-
| lz4hc 1.10.0 -12 | 13.9 MB/s | 4543 MB/s | 77262399 | 36.46 | 12 files|
99-
| zstd 1.5.7 -1 | 644 MB/s | 1620 MB/s | 73229468 | 34.55 | 12 files|
100-
| zstd 1.5.7 --fast --1 | 724 MB/s | 2159 MB/s | 86932028 | 41.02 | 12 files|
101-
| brotli 1.2.0 -0 | 539 MB/s | 418 MB/s | 78306095 | 36.95 | 12 files|
102-
| snappy 1.2.2 | 880 MB/s | 3262 MB/s | 101352257 | 47.82 | 12 files|
90+
| memcpy | 52905 MB/s | 52854 MB/s | 211938580 |100.00 | 12 files|
91+
| **zxc 0.8.0 -1** | 950 MB/s | **11934 MB/s** | 130408237 | **61.53** | 12 files|
92+
| **zxc 0.8.0 -2** | 615 MB/s | **9879 MB/s** | 114657730 | **54.10** | 12 files|
93+
| **zxc 0.8.0 -3** | 240 MB/s | **6925 MB/s** | 98234598 | **46.35** | 12 files|
94+
| **zxc 0.8.0 -4** | 169 MB/s | **6584 MB/s** | 91698141 | **43.27** | 12 files|
95+
| **zxc 0.8.0 -5** | 93.2 MB/s | **6090 MB/s** | 86054926 | **40.60** | 12 files|
96+
| lz4 1.10.0 | 815 MB/s | 4804 MB/s | 100880147 | 47.60 | 12 files|
97+
| lz4 1.10.0 --fast -17 | 1345 MB/s | 5647 MB/s | 131723524 | 62.15 | 12 files|
98+
| lz4hc 1.10.0 -12 | 14.0 MB/s | 4537 MB/s | 77262399 | 36.46 | 12 files|
99+
| zstd 1.5.7 -1 | 644 MB/s | 1622 MB/s | 73229468 | 34.55 | 12 files|
100+
| zstd 1.5.7 --fast --1 | 725 MB/s | 2167 MB/s | 86932028 | 41.02 | 12 files|
101+
| brotli 1.2.0 -0 | 539 MB/s | 405 MB/s | 78306095 | 36.95 | 12 files|
102+
| snappy 1.2.2 | 830 MB/s | 3265 MB/s | 101352257 | 47.82 | 12 files|
103+
103104

104105
### Benchmark ARM64 (Google Axion)
105106

106107
Benchmarks were conducted using lzbench 2.2.1 (from @inikep), compiled with GCC 12.2.0 using *MOREFLAGS="-march=native"* on Linux 64-bits Debian GNU/Linux 12 (bookworm). The reference hardware is a Google Neoverse-V2 processor (ARM64). All performance metrics reflect single-threaded execution on the standard Silesia Corpus.
107108

108109
| Compressor name | Compression| Decompress.| Compr. size | Ratio | Filename |
109110
| --------------- | -----------| -----------| ----------- | ----- | -------- |
110-
| memcpy | 23949 MB/s | 23969 MB/s | 211938580 |100.00 | 12 files|
111-
| **zxc 0.7.1 -1** | 808 MB/s | **8437 MB/s** | 129770958 | **61.23** | 12 files|
112-
| **zxc 0.7.1 -2** | 539 MB/s | **7003 MB/s** | 115921778 | **54.70** | 12 files|
113-
| **zxc 0.7.1 -3** | 163 MB/s | **5215 MB/s** | 98472307 | **46.46** | 12 files|
114-
| **zxc 0.7.1 -4** | 111 MB/s | **4968 MB/s** | 92027546 | **43.42** | 12 files|
115-
| **zxc 0.7.1 -5** | 58.2 MB/s | **4509 MB/s** | 86177811 | **40.66** | 12 files|
116-
| lz4 1.10.0 | 740 MB/s | 4151 MB/s | 100880147 | 47.60 | 12 files|
117-
| lz4 1.10.0 --fast -17 | 1282 MB/s | 4847 MB/s | 131723524 | 62.15 | 12 files|
118-
| lz4hc 1.10.0 -12 | 12.4 MB/s | 3776 MB/s | 77262399 | 36.46 | 12 files|
119-
| zstd 1.5.7 -1 | 519 MB/s | 1345 MB/s | 73229468 | 34.55 | 12 files|
120-
| zstd 1.5.7 --fast --1 | 605 MB/s | 1748 MB/s | 86932028 | 41.02 | 12 files|
121-
| brotli 1.2.0 -0 | 422 MB/s | 385 MB/s | 78306095 | 36.95 | 12 files|
122-
| snappy 1.2.2 | 747 MB/s | 1832 MB/s | 101352257 | 47.82 | 12 files|
111+
| memcpy | 24237 MB/s | 24131 MB/s | 211938580 |100.00 | 12 files|
112+
| **zxc 0.8.0 -1** | 853 MB/s | **8727 MB/s** | 130408237 | **61.53** | 12 files|
113+
| **zxc 0.8.0 -2** | 556 MB/s | **7303 MB/s** | 114657730 | **54.10** | 12 files|
114+
| **zxc 0.8.0 -3** | 226 MB/s | **5130 MB/s** | 98234598 | **46.35** | 12 files|
115+
| **zxc 0.8.0 -4** | 159 MB/s | **4879 MB/s** | 91698141 | **43.27** | 12 files|
116+
| **zxc 0.8.0 -5** | 84.9 MB/s | **4475 MB/s** | 86054926 | **40.60** | 12 files|
117+
| lz4 1.10.0 | 749 MB/s | 4182 MB/s | 100880147 | 47.60 | 12 files|
118+
| lz4 1.10.0 --fast -17 | 1303 MB/s | 4868 MB/s | 131723524 | 62.15 | 12 files|
119+
| lz4hc 1.10.0 -12 | 12.9 MB/s | 3796 MB/s | 77262399 | 36.46 | 12 files|
120+
| zstd 1.5.7 -1 | 527 MB/s | 1364 MB/s | 73229468 | 34.55 | 12 files|
121+
| zstd 1.5.7 --fast --1 | 610 MB/s | 1763 MB/s | 86932028 | 41.02 | 12 files|
122+
| brotli 1.2.0 -0 | 429 MB/s | 386 MB/s | 78306095 | 36.95 | 12 files|
123+
| snappy 1.2.2 | 756 MB/s | 1849 MB/s | 101352257 | 47.82 | 12 files|
124+
123125

124126

125127
### Benchmark x86_64
@@ -128,19 +130,19 @@ Benchmarks were conducted using lzbench 2.2.1 (from @inikep), compiled with GCC
128130

129131
| Compressor name | Compression| Decompress.| Compr. size | Ratio | Filename |
130132
| --------------- | -----------| -----------| ----------- | ----- | -------- |
131-
| memcpy | 20222 MB/s | 20186 MB/s | 211938580 |100.00 | 12 files|
132-
| **zxc 0.7.1 -1** | 601 MB/s | **6233 MB/s** | 129770958 | **61.23** | 12 files|
133-
| **zxc 0.7.1 -2** | 397 MB/s | **5081 MB/s** | 115921778 | **54.70** | 12 files|
134-
| **zxc 0.7.1 -3** | 128 MB/s | **3814 MB/s** | 98472307 | **46.46** | 12 files|
135-
| **zxc 0.7.1 -4** | 89.7 MB/s | **3665 MB/s** | 92027546 | **43.42** | 12 files|
136-
| **zxc 0.7.1 -5** | 48.2 MB/s | **3448 MB/s** | 86177811 | **40.66** | 12 files|
137-
| lz4 1.10.0 | 594 MB/s | 3555 MB/s | 100880147 | 47.60 | 12 files|
138-
| lz4 1.10.0 --fast -17 | 1034 MB/s | 4109 MB/s | 131723524 | 62.15 | 12 files|
139-
| lz4hc 1.10.0 -12 | 11.3 MB/s | 3479 MB/s | 77262399 | 36.46 | 12 files|
140-
| zstd 1.5.7 -1 | 414 MB/s | 1197 MB/s | 73229468 | 34.55 | 12 files|
141-
| zstd 1.5.7 --fast --1 | 453 MB/s | 1572 MB/s | 86932028 | 41.02 | 12 files|
142-
| brotli 1.2.0 -0 | 358 MB/s | 287 MB/s | 78306095 | 36.95 | 12 files|
143-
| snappy 1.2.2 | 612 MB/s | 1587 MB/s | 101464727 | 47.87 | 12 files|
133+
| memcpy | 18697 MB/s | 18663 MB/s | 211938580 |100.00 | 12 files|
134+
| **zxc 0.8.0 -1** | 642 MB/s | **6779 MB/s** | 130408237 | **61.53** | 12 files|
135+
| **zxc 0.8.0 -2** | 414 MB/s | **5778 MB/s** | 114657730 | **54.10** | 12 files|
136+
| **zxc 0.8.0 -3** | 171 MB/s | **3849 MB/s** | 98234598 | **46.35** | 12 files|
137+
| **zxc 0.8.0 -4** | 122 MB/s | **3674 MB/s** | 91698141 | **43.27** | 12 files|
138+
| **zxc 0.8.0 -5** | 67.0 MB/s | **3495 MB/s** | 86054926 | **40.60** | 12 files|
139+
| lz4 1.10.0 | 592 MB/s | 3573 MB/s | 100880147 | 47.60 | 12 files|
140+
| lz4 1.10.0 --fast -17 | 1033 MB/s | 4116 MB/s | 131723524 | 62.15 | 12 files|
141+
| lz4hc 1.10.0 -12 | 11.2 MB/s | 3484 MB/s | 77262399 | 36.46 | 12 files|
142+
| zstd 1.5.7 -1 | 412 MB/s | 1198 MB/s | 73229468 | 34.55 | 12 files|
143+
| zstd 1.5.7 --fast --1 | 451 MB/s | 1573 MB/s | 86932028 | 41.02 | 12 files|
144+
| brotli 1.2.0 -0 | 354 MB/s | 281 MB/s | 78306095 | 36.95 | 12 files|
145+
| snappy 1.2.2 | 611 MB/s | 1592 MB/s | 101464727 | 47.87 | 12 files|
144146

145147

146148
---

0 commit comments

Comments
 (0)