Updated README.md

This commit is contained in:
Caleb Gardner
2026-05-22 15:56:06 -05:00
parent 3239bf0e01
commit 1dae4d8bb7
+9 -7
View File
@@ -8,6 +8,8 @@ A library and application to decompress or view squashfs archives.
Overall works, but currently is missing some features ([see below](#capabilities)) and has significantly slow performance compared to `unsquashfs` ([see below](#performance)). Overall works, but currently is missing some features ([see below](#capabilities)) and has significantly slow performance compared to `unsquashfs` ([see below](#performance)).
Currently things are still in flux after Zig 0.16's Io changes and the documentation below *might* not be up to date.
## Build options ## Build options
> `-Duse_c_libs=true` > `-Duse_c_libs=true`
@@ -35,22 +37,22 @@ Most features are present except for the following:
## Performance ## Performance
This is some basic observation's I've made about this library's performance when compared to `unsquashfs`. Unless otherwise stated, most observations were made when extracting my test archive (which is fairly small and uses zstd compression) and with `--release=fast`. This is some basic observation's I've made about this library's performance when compared to `unsquashfs`. Unless otherwise stated, most observations were made when extracting my test archive (which is fairly small and uses zstd compression) and with `-Doptimize=ReleaseFast`.
Currently, my only performance checks are checking execution time, nothing deeper. Currently, my only performance checks are checking execution time, nothing deeper.
* Under ideal circumstances, my library is ~70% slower (.12s vs .20s). * Currently, using my test archive, performance matches `unsquashfs`.
* Using Zig decompression libraries *significantly* increases decompression time by ~600%. Under ideal circumstances. * Using Zig decompression libraries *significantly* increases decompression time by 5x. Under ideal circumstances.
* Performance improvements/regressions will be common. I'm still learning Zig. * Performance improvements/regressions will be common. I'm still learning Zig.
Example Times: Example Times:
* *unsquashfs, multi-threaded*: .12s * *unsquashfs, multi-threaded*: .12s
* *unsquashfs, single-threaded*: .13s * *unsquashfs, single-threaded*: .13s
* *C-libs, single-threaded*: .45s * *C-libs, single-threaded*: CURRENTLY UNTESTED
* *C-libs, multi-threaded*: .20s * *C-libs, multi-threaded*: .16s
* *Zig-libs, single-threaded*: 5.78s * *Zig-libs, single-threaded*: CURRENTLY UNTESTED
* *Zig-libs, multi-threaded*: 1.08s * *Zig-libs, multi-threaded*: .76s
## Build considerations ## Build considerations