【发布时间】:2013-10-29 18:55:18
【问题描述】:
我正在查看英特尔 x86 和 PowerPC(特别是 IBM POWER7)上的 MD5(将其用于备份,我知道这是一种有点过时的加密方法)的性能,并且看起来 Power 大约需要执行时间是 x86 的两倍。
不同之处在于有一个为 x86 生成的程序集版本,其性能可能已经调好,我正在尝试查看是否有类似的方法来提高 Power 的性能,但我不确定从哪里开始寻找并想知道是否有人会有想法。
只是一些背景信息,我传入的文件很大(~2G),我根本没有努力并行化它,都是顺序的。
另外,当我尝试不同的(例如 SHA1,或其他来自 sha 家族的)时,性能非常接近..所以想知道 MD5 是否有什么特别之处
【问题讨论】:
-
什么是“IBM Power Machine”?你指的是Power PC?你有考虑时钟速度等因素吗?
-
很难比较架构,除非您对所有架构都进行了优化。即使在一个架构内,性能也会有很大差异。较旧的 CPU 相比,较新的 CPU 通常可以在单个时钟周期内完成更多工作。例如,如果您的 IO 可以跟上,现代 Intel CPU 应该在 4 秒内使用单核对您的 2GB 文件进行哈希处理。
-
是的,它是一台 powerPC,我相信是 power7
-
你确定性能不受I/O限制吗?您到底在测量什么 - 文件散列时间或内存块散列时间?后者可能完全不同(即便如此,请注意分页的可能性)。
-
“优化汇编语言中的子例程”适用于 x86,但许多概念是可移植的slideshare.net/edersonsd/optimizing-assembly 对于使用不同编译器的不同部分,您可能也有更好的起点结果。
标签: assembly x86 md5 cpu-architecture powerpc