Re: [PATCH v6] fsck.erofs: add multi-threaded decompression
Nithurshen <[email protected]> Sun, 26 Jul 2026 16:32:30 +0530
| Newsgroups | org.ozlabs.lists.linux-erofs |
|---|---|
| Message-ID | <[email protected]> |
Hi Xiang, I have integrated the multi-threaded decompression framework on top of the concurrent directory traversal patch and ran the benchmarks against our single-threaded baseline. All integrity checks passed successfully. Note that this data is an average of 5 runs of extraction of the same file with purging all cache before each extraction. Here is the extraction time breakdown and performance improvement: | Alg | Cluster | ST Base | MT Trav | MT Comb | Imp(P1) | Imp(P2) | Imp(All) | |-------|---------|---------|---------|---------|---------|---------|----------| | lz4hc | 4096 | 4.17s | 3.62s | 3.38s | 13.2% | 6.6% | 19.0% | | lz4hc | 8192 | 6.02s | 3.73s | 3.56s | 38.0% | 4.6% | 40.9% | | lz4hc | 16384 | 5.34s | 4.61s | 4.24s | 13.7% | 8.0% | 20.6% | | lz4hc | 32768 | 5.24s | 3.79s | 3.34s | 27.7% | 11.9% | 36.3% | | lz4hc | 65536 | 4.23s | 3.61s | 3.49s | 14.7% | 3.3% | 17.5% | | zstd | 4096 | 4.63s | 4.62s | 3.75s | 0.2% | 18.8% | 19.0% | | zstd | 8192 | 4.78s | 3.95s | 3.84s | 17.4% | 2.8% | 19.7% | | zstd | 16384 | 4.29s | 3.68s | 3.65s | 14.2% | 0.8% | 14.9% | | zstd | 32768 | 4.33s | 3.68s | 3.18s | 15.0% | 13.6% | 26.6% | | zstd | 65536 | 4.34s | 3.82s | 3.31s | 12.0% | 13.4% | 23.7% | | lzma | 4096 | 56.37s | 36.57s | 20.60s | 35.1% | 43.7% | 63.5% | | lzma | 8192 | 64.48s | 45.00s | 18.49s | 30.2% | 58.9% | 71.3% | | lzma | 16384 | 69.83s | 52.34s | 21.97s | 25.0% | 58.0% | 68.5% | | lzma | 32768 | 74.88s | 55.37s | 20.88s | 26.1% | 62.3% | 72.1% | | lzma | 65536 | 80.66s | 63.64s | 19.81s | 21.1% | 68.9% | 75.4% | *(Imp(P1): Improvement of MT Traversal over ST Baseline)* *(Imp(P2): Improvement of Combined Patch over MT Traversal)* *(Imp(All): Total Improvement of Combined Patch over ST Baseline)* Average Overall Improvements: * LZMA: ~70.2% improvement overall. * LZ4HC: ~26.9% improvement overall. * ZSTD: ~20.8% improvement overall. Regarding performance: By combining concurrent directory traversal with the multi-threaded decompression pipeline (featuring algorithm-aware batching and fast- path bypasses), we have successfully decoupled CPU-heavy compute from I/O-bound extraction. Please let me know your thoughts on this combined patch. Thanks, Nithurshen