(多线程计算线程一:读取文件数据到线程队列,线程二:从线程队列拉取数据进行MD5计算(复制FFMPEG播放器多线程解码原理),从进度条可以看到几乎文件读取线程和计算线程是同步的,文件读取线程先读取一个数据包,然后再读取一个数据包(同时计算线程正在计算数据包的MD5),并行速度一致,计算线程根本不需要,那就进行多线程吧(文件太小建议不要使用多线程,但是会拖慢速度)!
目前的瓶颈在于算法和IO。如果使用内存映射来改善IO(初期测试时,效果并不明显,而且算法写得不好,反而性能会有所下降)。 MD5算法网站上没有优化好的版本。
19440609373[下载].rar
|