Ale*_*x R 6 c algorithm performance 64-bit multicore
我最近把家用电脑升级为四核CPU和64位操作系统.我有一些以前使用C/C++的经验,我真的"痒"尝试练习一些64位CPU功能.什么是一个好的"Hello World"类型程序,它通过做一些在32位单核代码中完全不能正常工作的简单事物来演示64位多核功能?
我只是试图了解这些新CPU如何在极端情况下影响C/C++代码的性能.
OpenMP 将是一种使用 C++ 进行多核编程的简单方法。维基百科的示例并没有真正执行任何处理器密集型操作,但您可以用一些独立的、长时间运行的函数替换“cout”。
就 64 位而言,大部分性能提升将来自于几个地方。
吞吐量增加,因为所有数据元素更宽,处理器可以在任何给定时钟周期内处理更多数据。看一下 Microsoft Exchange Server 的一些基准测试,它们现在已经转向支持 64 位,只是因为吞吐量的增长令人难以置信。
更多的寄存器,由于64位架构有大量的寄存器,大多数函数参数和返回值都可以使用寄存器来传递。
在具有某些调用约定的x86 ABI 中,一个或两个参数可以通过寄存器传递,其余参数必须压入堆栈。使用像 cdecl 这样的常见调用约定,不会将单个参数或返回值放置在寄存器中。由于堆栈位于主内存中,这可能会对性能造成很大影响。
| 归档时间: |
|
| 查看次数: |
954 次 |
| 最近记录: |