![](/img/trans.png)
[英]Performance difference between AnyCPU vs x64 platform on a 64 bit machine
[英]Performance of a C# application built on AnyCPU vs x64 platform on a 64 bit machine
我必須在64位計算機上部署C#應用程序,盡管它也可能部署在32位計算機上。 我應該構建兩個針對x86和x64平台的獨立可執行文件,還是應該針對“AnyCPU”平台(在項目屬性的“構建”選項中指定)構建單個可執行文件。在C#程序集構建的目標“AnyCPU”之間是否存在任何性能差異?部署在64位計算機上與相同的程序集部署專門針對'x64'平台?
不,在64位Windows上運行的AnyCPU應用程序與在其上運行的x64應用程序之間的性能沒有差異。 標志更改的唯一內容是編譯程序集的標頭中的一些標志,CLR僅使用它來決定是使用x86還是x64,沒有別的
如果您在詢問在64位Windows上運行的x86應用程序與x64(或AnyCPU)之間是否存在差異,那么答案是肯定的。 兩者之間的差異是:
tail.
特別請求它tail.
指令(例如C#從不這樣做) 作為上述答案的旁注。 使用AnyCPU在x64操作系統上使用P / Invoke或DotNetInterop進入x86 DLL 可能會出現問題。 在沒有64位版本的DLL可用的情況下,可能需要編譯x86而不是AnyCPU,因為操作系統將嘗試加載64位版本......並且失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.