2个版本
使用旧的Rust 2015
0.1.1 | 2018年3月18日 |
---|---|
0.1.0 | 2018年3月17日 |
#709 in 压缩
410KB
9K SLoC
zopfli-rs
为deflate、gzip和zlib压缩提供对zopfli的绑定。
目的
zopfli
已经由@carols10cents
(carols10cents/zopfli
)用纯Rust实现,因此创建对谷歌(google/zopfli
)原始C/C++库的绑定可能看起来是重复的。为了更好地了解纯Rust库的性能并提供一个略快的替代方案,制作了zopfli-rs
。
基准测试
在gzip压缩方面,zopfli-rs
略优于zopfli
。zopfli-rs
和zopfli
都遵循一种奇怪的性能曲线,似乎对于某些数据大小(在这种情况下,大约10KB是最佳点)会更快。更改Options
可能会显著提高这些结果,但这需要一些时间来调整到完美。
test bench_zopfli_1 ... bench: 5,026,521 ns/iter (+/- 547,023)
test bench_zopfli_10 ... bench: 5,817,841 ns/iter (+/- 585,086)
test bench_zopfli_100 ... bench: 19,293,553 ns/iter (+/- 2,106,929)
test bench_zopfli_1000 ... bench: 290,497,031 ns/iter (+/- 32,570,971)
test bench_zopfli_10000 ... bench: 38,902,158 ns/iter (+/- 6,040,615)
test bench_zopfli_100000 ... bench: 301,934,186 ns/iter (+/- 17,868,991)
test bench_zopfli_rs_1 ... bench: 2,439,766 ns/iter (+/- 644,219)
test bench_zopfli_rs_10 ... bench: 3,299,515 ns/iter (+/- 359,117)
test bench_zopfli_rs_100 ... bench: 14,146,432 ns/iter (+/- 1,505,380)
test bench_zopfli_rs_1000 ... bench: 209,671,685 ns/iter (+/- 9,135,909)
test bench_zopfli_rs_10000 ... bench: 29,229,623 ns/iter (+/- 3,060,932)
test bench_zopfli_rs_100000 ... bench: 289,308,248 ns/iter (+/- 13,868,834)
无运行时依赖
~0–2MB
~38K SLoC