我最近在C++中构建了一个Huffman编码的CPU实现.我还在CUDA中构建了一个GPU版本以便比较时间,但是在测试CPU的时间时我遇到了一个问题:
当通过压缩大文件进行压力测试时,例如几乎每个字母中的每个字母和其他各种ascii字符的97mb文本文件,我的CPU实现在第一次执行时将花费大约8.3秒.之后,时间显着下降到1.7秒.注意:我只计算CPU计算频率的时间,而不是字符串的编码和写入文件.
任何想法如何可能?我正在关闭所有文件指针,据我所知,不应该缓存任何内容.
如果需要任何源代码,请告诉我,谢谢.