最近,我将家用PC升级为四核CPU和64位OS。我以前有使用C/C++的经验,我真的很想尝试使用一些64位CPU功能。有什么好的“Hello World”类型程序通过执行一些在32位单核代码中根本无法正常工作的简单操作来演示64位多核功能?

我只是想对这些新CPU在极端情况下如何影响C/C++代码的性能有一种“感觉”。

最佳答案

OpenMP是一种使用C++进行多核编程的简便方法。 Wikipedia示例实际上并没有做任何处理器密集型的工作,但是您可以用一些独立的,运行时间长的功能来代替'cout'。

OpenMP

就64位而言,许多性能提升将来自几个地方。

由于所有数据元素都更宽,因此提高了吞吐量,处理器可以在任何给定的时钟周期内处理更多的数据。看看一些Microsoft Exchange Server基准,它们现在已经移动到支持64位,只是因为吞吐量的增加令人难以置信。

更多的寄存器,因为64位体系结构具有大量的寄存器,大多数功能参数和返回值都可以使用寄存器传递。

在带有calling conventions的x86 ABI中,可以通过寄存器传递一个或两个参数,而其余参数则必须压入堆栈。使用cdecl之类的通用调用约定,不会在寄存器中放置单个参数或返回值。由于堆栈位于主存储器中,因此对性能的影响可能很大。

关于c - 什么是好的多核64位 "Hello World"程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1654890/

10-15 18:13