觅风论坛
标题: 汇编高压缩性能源码 GZIP / ZLIB / Deflate 编解码引擎源码分享 [打印本页]
作者: MatthewAsync 时间: 7 小时前
标题: 汇编高压缩性能源码 GZIP / ZLIB / Deflate 编解码引擎源码分享
为了彻底摆脱第三方DLL依赖,我用汇编重写了整套Deflate编解码与校验核心。所有逻辑全部内嵌于 置入代码 机器码中,实现无依赖、高吞吐、原生的通用数据压缩与解压引擎。
模块亮点
【补丁更新】
修改模块:仅替换 Asm_计算CRC32 子程序。
优化原因:原CRC32为逐位移位实现,大文件耗时。
优化方案:改为动态栈查表 + 4字节并行循环展开。
实测效果:10MB GZIP 压缩耗时由 265ms 缩减至16ms左右,吞吐量达到625MB/s左右。其余解压与Deflate核心代码保持不变。
- .子程序 Asm_计算CRC32, 整数型, , 32位汇编 CRC32 校验计算核心。
- .参数 参_数据指针, 整数型, , 待计算数据内存首地址
- .参数 参_数据长度, 整数型, , 数据字节数
- 置入代码 ({ 83, 86, 87, 129, 236, 0, 4, 0, 0, 252, 139, 117, 8, 139, 77, 12, 49, 192, 133, 246, 15, 132, 128, 0, 0, 0, 133, 201, 116, 124, 49, 210, 137, 208, 187, 8, 0, 0, 0, 209, 232, 115, 5, 53, 32, 131, 184, 237, 75, 117, 244, 137, 4, 148, 66, 129, 250, 0, 1, 0, 0, 117, 225, 184, 255, 255, 255, 255, 137, 231, 131, 249, 4, 114, 58, 15, 182, 22, 48, 194, 193, 232, 8, 51, 4, 151, 15, 182, 86, 1, 48, 194, 193, 232, 8, 51, 4, 151, 15, 182, 86, 2, 48, 194, 193, 232, 8, 51, 4, 151, 15, 182, 86, 3, 48, 194, 193, 232, 8, 51, 4, 151, 131, 198, 4, 131, 233, 4, 131, 249, 4, 115, 198, 133, 201, 116, 15, 15, 182, 22, 48, 194, 193, 232, 8, 51, 4, 151, 70, 73, 117, 241, 247, 208, 129, 196, 0, 4, 0, 0, 95, 94, 91, 201, 194, 8, 0 })
- 返回 (0)
复制代码
作者: scarknife 时间: 1 小时前
看不懂,还是感谢楼主分享
| 欢迎光临 觅风论坛 (https://www.eyyba.com/) |
Powered by Discuz! X3.4 |