当前位置:  开发笔记 > 编程语言 > 正文

64位.NET性能调优

如何解决《64位.NET性能调优》经验,为你挑选了3个好方法。

我知道这.NETJIT编译你只是在应用程序运行之前运行的架构,但确实为64位架构的JIT编译器优化呢?

在编写将运行的应用程序时,是否有任何需要完成或考虑的事项64bit system?(即使用Int64会提高性能吗?JIT编译器会自动使Int64在32位系统上运行吗?)



1> Wilka..:

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

如果您的应用程序使用大量内存并且PC有足够的RAM来跟上它,您会注意到性能的大幅提升.我发现当你使用大约1.6gb时,32位.NET应用程序倾向于开始丢失内存异常,但是由于之前的分页很长时间它们开始捶打磁盘- 所以你结束了I/O绑定.

基本上,如果你的瓶颈是CPU,那么64位不太可能有所帮助.如果你的瓶颈是记忆,那么你应该看到一个很大的进步.

将使用Int64提高性能,JIT编译器是否会自动使Int64在32位系统上运行

Int64已经可以在32位和64位系统上运行,但它在64位运行速度更快.因此,如果您主要使用Int64进行数字运算,那么在64位系统上运行应该会有所帮助.

最重要的是衡量你的表现.



2> 小智..:

这是一篇关于这个主题的好文章,由一位参与64位JIT工作的人撰写.基本上,除非你绝对需要64位可以提供的地址空间,或者需要进行64位数学运算,否则你可能会失去性能.例如,随着指针的增大,缓存有效减半.



3> Oliver Halla..:

我注意到64位速度慢得多.

如前所述,64位JIT编译器的行为与x86 JIT编译器的行为不同.x86编译器将利用x64编译器没有的一些优化.

例如,在.NET 3.5中,32位JIT将使用结构作为参数内联函数调用,但64位JIT不会.

在生产代码中,我看到x86构建的运行速度比x64构建快20%(没有其他更改)

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有