none
winform程序在x64模式的性能问题 RRS feed

  • 问题

  • 在64位系统下,用VS2013做一个winform程序(C#与VB均可),

    使用x64编译或者anycpu编译时性能要比x86模式和anycpu(32位优先)编译时性能低上一半。

    并没有什么特殊代码,导致这个问题的原因是什么?

    在Win7Sp1上及Win8.1上均存在这个问题。

    2015年3月18日 15:11

答案

全部回复

  • 你好:

    64位的模式的应用程序对象引用的地址空间比32位应用程序的要大,这就意味着要消耗更多的内存和缓存,所以通常情况下32位应用程序会比64位应用程序快一些。参考一篇博客:

    http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 solygho 2015年3月24日 15:40
    2015年3月20日 4:15
    版主
  • 对于一般的应用开发来说,是不是完全没有必要采用64位模式?

    除了可以使程序利用更大的内存之外,基本上没有看到64位FrameWork所带来的优势啊。

    是不是在某些特定方面才能体现出64位模式的好处?

    2015年3月24日 15:48
  • 是的,比如说64位的.Net Framework可以在单核cpu上支持更多的线程数, 对于支持AMD64指令集的机器而言,编译为64位性能会更高一些。

    一般情况下32位程序就可以满足大部分情况了。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.



    2015年3月25日 5:35
    版主