模块 Compress Deflate Lua |
|
compress.deflatelua
使用纯 Lua 实现 DEFLATE [1] 和 gzip/zlib 解压缩。
下载
示例
它有点慢(正如预期)。使用 bit.numberlua 解压缩 lua-5.1.4.tar.gz,启用 CRC 检查大约需要 9 秒(使用 LuaJIT 1.x 则需要 4 秒),禁用 CRC 检查大约需要 3 秒(使用 LuaJIT 1.x 则需要 2 秒)。使用原生 bitop 库时速度更快,尤其是在 LuaJit 下。
为什么?可能的原因包括:(1) 出于教学目的,(2) 对 Lua 进行基准测试,(3) 启动可能没有预编译的 gunzip 副本的应用程序,例如 LuaRocks/LuaDist,以及 (4) 因为 DEFLATE 也已在其他语言中实现 [1](包括 Python、Perl 和 Lisp)。
上面的模块遵循类似 Perl CPAN 的命名约定。与 [Compress::Zlib::Perl]、[Digest::CRC32] 和 Bit:: 模块进行比较。
这些模块正在打包,以便在 LuaRocks 和 LuaDist 中使用。(我仍在处理 LuaRocks 和 LuaDist 的打包工作。)
预计稍后将在此处添加更多说明。请参阅 [compress.deflatelua github 页面]。欢迎评论。