核心2 x87浮点性能

时间:2008-11-25 03:31:43

标签: performance optimization hardware floating-point intel

我正在使用一些数字运算代码,就其本质而言,它是浮点密集型而且速度很慢。它是研究代码,因此可以针对一个架构进行定制,并且在Core 2 Quad盒上运行。我的理解是,对于奔腾4 / Netburst架构,英特尔严厉剥离了x87 FPU,并采用了更加以SSE2为中心的设计。这导致了x87代码的糟糕表现。但是,Core 2架构与P6架构的关系比Netburst更紧密。

我的编译器并不针对所有AFAIK的SSE,我的理解是很少有编译器能做到这一点。此外,我正在使用D语言,这是相当前沿的,所以没有很多编译器可用。但是,我不想切换语言,因为我现有代码的惯性,并且因为尽管它不成熟,但我真的很喜欢D。

Core 2架构是否还有一个简化的x87 FPU?如果是这样,最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

让自己找到一个分析器 - 有太多因素,如缓存未命中和内存访问延迟,以便能够将不良性能归因于特定的处理器功能。如果您想了解什么是快速的,请使用几种不同的方法实现相同的算法并对其进行分析。

我还建议查看liboil库,它允许您在不编写程序集的情况下使用SSE进行优化;我不知道它是如何与D整合的。

相关问题