64 位性能优势 [英] 64-bit Performance Advantages

查看:22
本文介绍了64 位性能优势的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

64 位应用程序相对于 32 位应用程序的性能优势的来源是什么?我假设有性能优势,因为像 WinRAR 这样的程序会宣传它.

What is the source of the performance advantage 64-bit applications have over 32-bit applications? I'm assuming there is a performance advantage because programs like WinRAR advertise it.

另外,我们是否可以通过切换到 64 位编译器来获得这些性能优势,或者是否需要对代码进行任何更改?

Also, can we get these performance advantages simply by switching to a 64-bit compiler, or are there any changes in code that need to be made?

欢迎提供与非托管和托管代码相关的答案.

Answers related to both, unmanaged and managed code, are welcome.

推荐答案

为了利用最新 CPU 的 64 位架构,您必须:

In order to take advantage of the 64 bit architecture of the latest CPU's you have to:

  • 使用 64 位 CPU 和操作系统
  • 使用 64 位 api 专门针对 64 位进行开发 - 实现必须一直深入到使用 CPU 寄存器(通常用汇编程序编写)的最基本代码,以利用额外的寄存器.
  • 开发一个真正受益于额外寄存器的应用程序 - WinRAR 是一个可以充分利用额外寄存器的应用程序,因为它涉及大量复杂算法的微积分.如果您改为使用非常简单的算法编写应用程序,它将不需要额外的寄存器地址空间,并且在 64 位上运行速度不会更快
  • 还要考虑到,当您使用 CPU 寄存器时,即使您不使用整个地址空间作为值,它仍然会占用尽可能多的空间(= 64 位).因此编写一个小应用程序旨在获得优化代码的 64 位是行不通的.该应用程序将占用两倍于在 32 位下开发的 RAM,而且速度可能会更慢.64 位编程对于使用繁重算法或需要分配大量内存(4Gb 是 32 位应用的限制)的应用很有意义.

这篇关于64 位性能优势的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆