VC++ Performance Improvements in VS 2008
A couple of weeks ago I blogged about the performance improvements in Visual Studio 2008.
In response to that, several of you asked me for more information on how these types of enhancements had been incorporated into Visual C++.
Though the performance improvements blog highlighted work the Visual C++ team had done around file-level parallel builds and incremental builds for mixed native-managed projects, there are other things in for VC++ in VS 2008 that I thought would be worth mentioning. So, here we go:
· Editor responsiveness – Updating IntelliSense, displaying the QuickInfo tooltip and processing AutoComplete requests won’t degrade editor experience.
· Goto Definition improvements – Significant reduction in the time required to “Goto Definition”. One customer reported that a 2 minute delay dropped to 10-20 seconds.
· Load solution performance – Load time of large Visual C++ solutions is much better. Some customers are reporting speed ups of 25%-70%.
· File lookup in projects – Provides improvements to several scenarios such as adding files to projects, changing configurations, etc.
· Changing configuration options – Modifying options, such as adding an include directory or changing the active configuration, are much faster for large solutions.
· Reduced CPU consumption – We now process low-priority background items (such as IntelliSense population) using 20% less CPU time.
I do hope that all this work will provide a much enhanced IDE experience for C++ developers. The Visual C++ team is already hard at work on the next major version of Visual C++ and is hoping to address even more performance and scalability issues in the future. Also, for those of you working on Visual C++ 2005, the team will be releasing a patch that applies the fixes described above to that version as well.
Namaste!
Comments
Anonymous
October 10, 2007
PingBack from http://www.artofbam.com/wordpress/?p=7017Anonymous
October 10, 2007
Soma just blogged about some of the performance improvements we're making in Visual C++ 2008 . We'llAnonymous
October 10, 2007
Soma just blogged about some of the performance improvements we're making in Visual C++ 2008 . We'llAnonymous
October 10, 2007
Somasegar's WebLog has a entry on VC++ Performance Improvements in VS 2008 . A couple of days ago heAnonymous
October 10, 2007
Somasegar, jefe en Microsoft Corp. de muchos de los avances de la plataforma .NET, ha realizado unosAnonymous
October 10, 2007
[原文地址]: VC++ Performance Improvements in VS 2008 [原文发表时间]: Wednesday, October 10, 2007 5:59 PM 几个星期前Anonymous
October 11, 2007
In general, it all sounds good. However, VC++ 2005 is seriously lacking in standard compliance. Can I expect any serious improvements? Specifically:
- Two-phase name lookup
- Exception specifications 3))Export *
While many may not like it, it is part of the standard.
Anonymous
October 11, 2007
I'm using VS2008 beta2. I found that if I double click on a lNK2001 or C1083 error message in the output window, VS hangs for a while before it finds the file. Steps to reproduce:Anonymous
October 11, 2007
It is time for another weekly roundup of news that focuses on .NET, agile and general development relatedAnonymous
October 12, 2007
Fei, > if I double click on a lNK2001 or C1083 error > message in the output window, VS hangs for > a while before it finds the file. Yes, Linker errors which are not linked to a specific file in the project could exhibit this behavior while the IDE tries to find the file (that does not exist) in your project. I can imagine that this could take a long time if you have large solutions. It's not something that we fixed in VS2008, unfortunately. Thanks for bringing it to our attention. I'm not sure why you should be getting this for C1083 if it's related to an existing source file, though. Perhaps this was about a compiler-generated file? If so, we would definitely be interested in the "steps to reproduce" that you missed above. Thanks, Tarek Madkour Lead Program Manager Microsoft Visual C++Anonymous
October 12, 2007
Any information on speed improvements in generated code would be helpful.Anonymous
October 15, 2007
Microsoft has too many disasters on his hands to be worried about fixing exception handling and export, both of which are broken in the standard itself. If these features were simple and reliable to implement, were in widespread use or even remotely useful then it would be worthwhile. However, none are the case.Anonymous
October 16, 2007
>>One customer reported that a 2 minute delay dropped to 10-20 seconds. Here is what I'm wondering. Let's say there are a million symbols in the database. Let's assume the database is in a binary tree, and every node requires one disk access. This means there will be 20 reads, at 10 milliseconds each. Worst case scenario: 200 milliseconds. Hard to do worse than that, theoretically at least. Now, how can you guys possibly spend 10-20 seconds looking ANYTHING up? Please tell us. I really, honestly, truly don't understand how a lookup could take this long.Anonymous
October 17, 2007
I'm very happy with your promise that the performance improvements will be rolled into 2005. It makes it easier to justify buying 2008 knowing that I'm buying it for features not for bug fixes. Thanks.Anonymous
October 19, 2007
The comment has been removedAnonymous
October 23, 2007
Bob: Do some code profiling and possibly learn some assembly language. You can often get much more than 5% speedup in sections of code if you see what kind of code the compiler is generating, and "assist" it yourself (ie: loop invariant code hoisting, etc.). I saw NO performance difference in our large (700k+ lines) app between the 2005 & 2008 release builds. But you also can look into things like PGO and LTCG to speed up your executables. Oh, and don't forget that multi-core is going mainstream, so you may be able to get some help there too.Anonymous
November 01, 2007
Here's a roundup of some links to great blogs and articles about the new stuff coming soon in "Orcas".Anonymous
January 05, 2008
VC++ in VS 2008 hangs. It is extremely harmful in case files were not saved properly. I'm working with boost and VS 2008. I also observed hangs on VS 2005 after patching. :-(Anonymous
January 07, 2008
Timur, Can you please send some detailed information about the hangs you're seeing to devperf@Microsoft.com, or post a connect bug with details so that we can reproduce and track the issue? Thanks, David Berg Developer Division Performance Engineering TeamAnonymous
December 19, 2008
I also really wonder about the 10-20 seconds to look something up. It's like spending 1 million years to look up a person's phone number in a 2 page phone-book. It's absolutely mind-boggling... PatrickAnonymous
December 19, 2008
Patrick, I'm not sure where you're seeing 10-20 seconds to look something up, feel free to clarify it with me (DevPerf@Microsoft.com). We do know we have room for improvement with Help and Intellisense, and we're actively working to see what we can do about it in Visual Studio 2010. Regards, David Berg Performance EngineeringAnonymous
February 13, 2009
[Nacsa Sándor, 2009. január 20. – február 12.] Komplett fejlesztő környezet Windows kliens és web alkalmazások