分类:
2008-10-15 16:39:05
Visual Studio 2008的性能改进。此外,使用 / MP 开关,您可以大大提高您的 项目生成时间 -在内部的项目里,我们看到前台编译器在双核硬件上性能的提高最多可高达30%。.NET Framework 3.5 运行时的性能也有了显著提升,我们精简了CLR的线程池,使得各种类型的多线程应用程序得到性能改进。
Visual Studio 2008的性能改进
在 VS 2008中,我们就开发人员所关心的一些常见的使用场景在性能上作了很大的改进.我们对新的产品功能以及现有的产品功能都设置了明确的性能指标。
例如,对于新的 LINQ,我们设置的性能目标是: 对同一个查询,LINQ的性能必须显著优于SqlDataAdapter,与SqlDataReader相比也必须有竞争力;从SQL Server检索数据时,LINQ的接口必须是最轻量级的. 在我们的过程中, 我们所尝试过的每个案例几乎都表明,LINQ实际上的确比SqlDataAdapter表现更好, 而在大多数那些的例外的测试案例中, 完成相同的任务,LINQ比SqlDataReader落后的速度不超过10%。 考虑到 LINQ的强大功能,我们认为这样的取舍是合理的。
在Visual Studio 2008中我们能看到的更显著的性能提高包括:
重新生成一个 VisualBasic 项目并运行一个后台编译器的速度提高到了原来的3倍,使用的内存却只有原来的1/3。更多细节在这里。
在编辑器里滚动较大的 文件的速度比原来快了一倍,键入新文本的速度是原来的1.5倍.
对 中庞大类型的智能感应响应时间提高了至多10倍。
增量生成C++/ CLI 项目解决方案的时间最快可以提高到原来的1.9倍。更多细节在这里。
Office Word 和 Excel 文件在上处理的速度快了20倍。
TFS 版本控制命令处理经过重写后,能够在不需要绑定内存到上的情况下,支持无限量的关键命令操作。 在我们的测试衡量结果中,关键命令的运行速度还提高了 10% 到 60%,尤其是在比较大的项目上操作时有了很大的性能提高。从这-里可以看到更多关于改进TFS可测量性的工作。
我们还致力于充分利用多核硬件的优势来提高性能。正如我以前的日志中提到的,我们对MSBuild工具增添了多线程支持。此外,使用 / MP 开关,您可以大大提高您的 C++ 项目生成时间 –在内部的项目里,我们看到C++前台编译器在双核硬件上性能的提高最多可高达30%。.NET Framework 3.5 运行时的性能也有了显著提升,我们精简了CLR的线程池,使得各种类型的多线程应用程序得到性能改进。例如,当这些架构方面的改进与套接字端口API的改进结合在一起,并使用双核处理器的情况下,异步套接字端口I/O的操作速度最快提高了70%。更多关于此项工作的细节在这里。
上面这些只是VS2008性能改进的一些重要方面,VS2008中还有许多其他的性能改进,而且我相信仍然有些地方我们能够做得更好。像任何其他东西一样,这是一场旅行,而非终点。
Visual Studio 2008 十大新功能
VS2005还没有最终稳定的版本,但是我想在微软的某个办公室,一个项目组正在研究发展Visual Studio 2008这个版本。我看了一下表,现在的时间是公元2006-3-9日,离微软发布VS2008版的α版还有整整18个月,我不知道它最终会是如何的,但是它一定具有以下十项激动人心的特点:
No.1 代码中插入图片,而且它可以被Notepad进行编辑?
是神话么,不是。它实际上是在注释中加入了另一个标签,其标签指向当前解决方案的的一个图片链接正如下面的样子
///ref = /img/img01.gif
很好,它的确可以被NotePad进行编辑。为什么要供这个功能? 呵呵,当你维护一段代码时,你首先是想是了解它是如何来组织程序的,当然你可以通过文字描述,类视图等等来了解,或者也是我们常用的写一个说明文档,然后放入另一个DOC的目录,然后过了一两年,你,噢不是你,是你现在的手下发现找不到那个文档了!文档中插入图片,一目了然。 其实类似的功能还有几个,象///
[1]