基本上,我想知道visual和/或编译器在2010年和2012年是否是为了使用多核环境而编写的(我知道我们可以使用并行性在所有版本中针对多核环境,但这不是我的问题)。
我正试图决定是否应该得到一个更高的时钟双核还是一个较低的时钟四核,因为我想尝试并确定哪个处理器将为我提供使用VisualStudio2010或2012 (v11) (ide和后台编译器)的绝对最佳体验。
如果它们在一个核中运行最重要的部分(后台编译器和其他ide任务),那么如果运行一个四核,尤其是如果后台编译器是最重的任务,那么核心将被更快地切断,我想这将很难在多个进程中分离,所以即使它使用多核,如果大部分处理仍然要发生在一个核(即VS环境中最重要的部分),那么选择一个更高的时钟CPU可能更好。
我是一个VB程序员,他们在2010年和2012年做出了很大的性能改进,恭喜(除了可怕的灰色尺度设计和大写大写之外),但我希望能够无缝地使用VS .有人有什么想法吗?另外,我不太担心解决方案加载时间,因为我一次只编写一个项目。
谢谢。
发布于 2009-11-28 23:27:37
我觉得你最好有一个更高时钟的双核。我认为VS (以及今天的大多数应用程序)还没有充分利用多线程的优势。VS可能有几十个线程正在运行,但是只有一个子集的操作能够很好地利用它们。大部分VS实现都是在STA线程上运行的C++ COM组件,因此UI线程在许多场景中完成了大部分工作。VS shell的许多部分正在作为VS2010的一部分在托管代码中重写,这将有助于打破更多这些古老的组件STA依赖关系。正如其他人所提到的,一些关键场景(比如构建一个大型解决方案)已经利用了多个核心(MSBuild并行工作很好),所以如果这些方案主导了您所关心的,那么更多的内核会更好。但是对于IDE UI的使用和后台编译,我认为大部分仍然是单线程的。我有一个四核盒在工作,我很少看到VS2008使用超过25%的CPU资源。(我还没有认真地使用VS2010来知道哪些场景更好,尽管我知道至少有几种更好。)
发布于 2009-11-28 22:51:00
MSBuild支持并行构建项目。Visual 2008利用多个处理器来实现编译项目。
发布于 2010-05-09 15:11:57
正如其他人所指出的,MSVS 2010确实使用多个进程进行编译。尽管如此,它不会自动转换为大大减少编译时间。我刚刚对一个中等大小的C++项目(大约200个文件)进行了测试。它在3.4GHz的双核上比在2.8Ghz的四核上建造得更快。虽然双核处理器更便宜。(系统实际上与4 4GiB DDR2 Ram完全相同)。我还必须指出,在编译期间,双核处理器被加载到70%的最大值。正如您所看到的,如果VS2010甚至不能完全加载两个内核,那么拥有4个或更多的内核有什么意义呢?
https://stackoverflow.com/questions/1814015
复制相似问题