模块 Compress Deflate Lua

lua-users home
wiki

此模块 compress.deflatelua 使用纯 Lua 实现 DEFLATE [1] 和 gzip/zlib 解压缩。

下载

示例

./gunziplua lua-5.1.4.tar.gz

它有点慢(正如预期)。使用 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:: 模块进行比较。

这些模块正在打包,以便在 LuaRocksLuaDist 中使用。(我仍在处理 LuaRocksLuaDist 的打包工作。)

预计稍后将在此处添加更多说明。请参阅 [compress.deflatelua github 页面]。欢迎评论。

另请参阅

--DavidManura

评论


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2014 年 3 月 23 日下午 5:10 GMT (差异)