我知道, .NETJIT 编制架构运行之前的应用程序运行,但并JIT编译器化为64位建筑在所有的?

有什么需要做的或被认为是当程的一个应用程序,将上运行 64bit system?(即将使用Int64改善业绩和将JIT编译器自动使Int64工作上的32位系统?)

有帮助吗?

解决方案

64位JIT是不同的 从一个32位,所以我希望一些差异在输出-但我不会切换到64位只是为此,我不期望获得多的速度(如果有的话)在CPU时通过转换到64位.

你会发现一大业绩的改善如果你的应用程序使用了大量的存储和电脑有足够的内保持它。我发现,32位.净的应用程序往往开始扔出去的记忆的例外情况,当你周围的1.6gb在使用,但他们开始鞭打盘,由于 寻呼 很久以前的-所以你最终被I/O约束。

基本上,如果你在的瓶颈是CPU后64位是不可能的帮助。如果你的瓶颈是记忆那么你应该看到一个大的改善。

将使用Int64改善业绩和将JIT编译器自动使Int64工作上的32位系统

Int64已经运作两32位和64位系统,但是这将可以更快上运行的64位.所以如果你们大多数处理与Int64,运行于一64位系统应该帮助。

最重要的事情是 测量 你的表现。

其他提示

是一篇好文章的主题,由一个工作人员的64位JIT。基本上,除非绝对需要的地址空间有64位可以提供或需要做的64位数学的,你很可能会失去效能。作为指针是较大、高速缓冲的是有效地减少了一半,例如。

我已经注意到了64位被慢了很多。

正如已经指出的64位JIT编译器的行为不同的x86JIT编译器。X86编译器将利用一些优化,64个不。

例如,在。净3.5 32位即将内联调用的功能与结构的参数,但是64位JIT不。

在产生的代码,我已经看到x86建立运行多达20%的速度比64生(没有其他变化)

总的来说,使用64位只有如果

  1. 你需要额外的记忆没有办法解决它。
  2. 你计划如科学应用程序和需要的增加数学精密

在每一个其他方面,如今,在64位编译器。净是一步步下降。

性能优化完成的。净编译是一个大问题。

性能的瓶颈问题将是相同的,无论是否构为32或64位。性能的问题往往是结果子的最佳算法之间的选择32和64位类型不会明显影响性能。

最重要的是,不要试图以提高性能的东西之前,你已经测定。特别是你应该分析代码,以确定你的表现的瓶颈。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top