首次执行后 CPU 霍夫曼压缩速度更快?

2024-05-03

我最近用 C++ 构建了 Huffman 编码的 CPU 实现。我还在 CUDA 中构建了一个 GPU 版本来比较时间,但在测试 CPU 时间时遇到了一个问题:

当通过压缩大文件(例如几乎包含字母表中的每个字母和各种其他 ascii 字符的 97mb 文本文件)进行压力测试时,我的 CPU 实现在第一次执行时将花费大约 8.3 秒。此后,时间大幅下降至 1.7 秒。注意:我只是对 CPU 的频率计数进行计时,而不是对字符串的编码和写入文件进行计时。

有什么想法吗?我正在关闭所有文件指针,据我所知,不应缓存任何内容。

如果需要源代码请告诉我,谢谢。


第一次运行后,文件内容由系统缓存(并由所有进程共享),因此下次运行时您实际上是从内存中读取文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

首次执行后 CPU 霍夫曼压缩速度更快? 的相关文章

随机推荐