哈夫曼压缩/解压缩 我使用C++来在CPU上编码赫夫曼压缩/解压缩算法。当我把我的代码计时时,考虑到我已经建立了霍夫曼树,我的代码用24s解压缩100万个浮点数字。我的硬件如下:

哈夫曼压缩/解压缩 我使用C++来在CPU上编码赫夫曼压缩/解压缩算法。当我把我的代码计时时,考虑到我已经建立了霍夫曼树,我的代码用24s解压缩100万个浮点数字。我的硬件如下:,c++,compression,C++,Compression,配备Intel core i5、6 GB ram、64位操作系统、5.5 windows体验索引、2.3GHz时钟速度的笔记本电脑 有压缩经验的人能告诉我上面的值是正确的还是我的代码太慢吗?你的代码太慢了。即使我假设8字节浮点和压缩比为1,这也是非常保守的,即每个解码输入位几乎有1000个周期。即使逐位遍历二叉树,每一位也只需要几条指令。还有比一点一点更快的方法。您试过分析代码吗?你有理由相信它效率低下吗?很多年前,当我实现哈夫曼压缩时,解压似乎相当快。你可能需要检查你的代码,我会把它与网络上的

配备Intel core i5、6 GB ram、64位操作系统、5.5 windows体验索引、2.3GHz时钟速度的笔记本电脑


有压缩经验的人能告诉我上面的值是正确的还是我的代码太慢吗?

你的代码太慢了。即使我假设8字节浮点和压缩比为1,这也是非常保守的,即每个解码输入位几乎有1000个周期。即使逐位遍历二叉树,每一位也只需要几条指令。还有比一点一点更快的方法。

您试过分析代码吗?你有理由相信它效率低下吗?很多年前,当我实现哈夫曼压缩时,解压似乎相当快。你可能需要检查你的代码,我会把它与网络上的其他实现进行比较,比如说:你说你构建了哈夫曼树,这让我怀疑你忘记使用表了。用树一点一点地解码是一场灾难。在我的机器上使用tables.gunzip处理100万个压缩的随机浮点数(表示为字符串)需要0.2秒,因此我相信您的代码会更快。您的代码是否太慢取决于您以及您需要代码做什么。