VS 2008 Performance Improvements


In the VS 2008, we have made some good strides in improving performance for some of the common scenarios that developers care about.  We set explicit performance goals both for new product features and for improving the performance of existing features.  


For example, with the new LINQ facility we set a goal that LINQ performance be significantly better than using a SqlDataAdaptor for the same query and competitive with using a SqlDataReader, the lightest weight interface available for retrieving data from SQL Server.  In our testing, LINQ does in fact out-perform SqlDataAdaptor on almost every test case we tried, and in many of the exceptions, it is no more than 10% slower than using a SqlDataReader to accomplish the same task.  Given the power of LINQ, we feel this is a very reasonable trade-off.


Some of the more prominent performance improvements in Visual Studio 2008 that we see include:


·         Rebuilding a Visual Basic project and running a background compiler is 3x faster and uses 3x less memory.  More about this topic here.


·         Scrolling large C# files in the Editor is 100% faster, while typing in new text is 50% faster


·         The response time of IntelliSense with large types in C# is up to 10 times faster


·         Incremental build time runs up to 90% faster on C++/CLI project solutions. More about this topic here.


·          Office Word and Excel files are processed 20x faster on the server


·         TFS Version Control command processing was re-written to support unlimited sized operations on key commands without being memory bound on the server. In our measurements, key Commands also run 10% – 60% faster, with the larger improvements associated with bigger projects.  More about the work to improve TFS scalability here and here.


 


We also focused on performance improvements that exploit multi-core hardware.  As I blogged about earlier, we added multi-threaded support to MSBuild. In addition, using the /MP switch, you can significantly improve your C++ project build time – internally we’ve seen improvements of up to 30% when building the C++ Frontend compiler on dual-core hardware.  Significant performance improvements were also made in the .NET Framework 3.5 runtime to streamline the CLR thread pool to help multithreaded applications of all kinds.  These architectural changes, when combined with socket API changes, improve asynchronous socket I/O throughput up to 70% when a 2nd processor core is available, for example.  The full scope of this work is discussed in more detail here.


 


These are just some highlights.  There are many other performance improvements.  I am sure there are areas we can do better as well.  Like anything else, this is a journey and not a destination. 


 


Namaste!

Comments (83)

  1. It is time for another weekly roundup of news that focuses on .NET, agile and general development related

  2. Thanks for the post!

    I am interested what other speed improvements you have done to VB, apart from that one for the project file?

    Does the LINQ facility works the same(have the same speed improvement) if we use C# or VB?

    Cheers!

  3. Is it planned to have a Release Candidate before the final release of VS2008 and if so do you recommend people who are running live sites on Beta 2 to upgrade to RC or wait till RTM?

  4. Soma just blogged about VS 2008 Performance Improvements . There is some good info in his post. One of

  5. Soma just blogged about VS 2008 Performance Improvements . There is some good info in his post. One of

  6. Travis says:

    David Hayden has a post on his blog concerning this:

    http://davidhayden.com/blog/dave/archive/2007/09/28/LINQToSQLVisualStudio2008PerformanceUpdate.aspx

    I’d comment on his blog but he has them disabled for some reason.

    Soma, will this issue be fixed by release?  

    David (if you read this) can you post the SQL queries generated by those DataLoadOptions in your example?  In theory it should just be 1 query, using JOINS it should bring in all the data in 1 call from all 3 related tables.  Yes there is duplicated data but that is better than "too many" SQL trips IMO.

  7. Larry says:

    Can you tell me if you’ve made improvements to the disaster that is the VC++8.0 SxS deployment system?

  8. Travis,

    We actually looked into various options for eager loading (DataLoadOptions) queries and did fair amount of reasearch. The conclusion was that "big join" type queries for more than two tables often are less performant than n queries as we do. In fact we used to big join in earlier previews and reverted back for correctness and performance.

    Besides duplicate data, there are other issues there as well – consistency under normal isolation level (i.e. correctness) and the increase in the likelihood of deadlocks on a loaded server when more multi-table queries are issued. See http://blogs.msdn.com/ricom/archive/2007/08/31/database-performance-correctness-compostion-compromise-and-linq-too.aspx for more insights into some of these issues.

    Bottom line, based on our investigation, what may be perceived as an improvement is not one in many common cases. That said, there are more optimal ways to do DataLoadOptions that we came up with. However, we did not have time to do work on that scale within V1 scheule constraints.  We hope to explore that post-V1.

    Dinesh Kulkarni

    Sr. Program Manager – LINQ Project

    Developer Division

  9. Lisa Feigenbaum says:

    Hi ajaxus,

    Thank you for your inquiry.  Yes, there are additional performance improvements included in Visual Basic 2008.  Stepping, first-time intelliSense, errors in the task list, editor responsiveness, large solutions, and web apps are a few examples of areas where we have focused on improving performance.  Cameron McColl, VB perf developer, has created a video on Channel9 where he talks about and demonstrates several of these scenarios:

    http://channel9.msdn.com/ShowPost.aspx?PostID=328382#328382

    As far as how LINQ runs in VB vs C#, there are some common parts…  Both use the same APIs in .Net Fx 3.5, both utilize the same LINQ providers, and both are using the same underlying technology.  However, there are some differences too, such as the different (but similar) expression trees that are produced using the VB and C# compilers.  Both teams have taken performance into account in their designs, however.  So this should not be a reason choose one language or the other.  If you do happen to experience any problems with either, you can email VB Performance (vbperf@microsoft.com) or CSharp Performance (vcsperf@microsoft.com) and we will be happy to look into it.

    Thanks,

    Lisa Feigenbaum

    VB IDE & Perf Program Manager

  10. Ayman Shoukry says:

    Hello Larry,

     With regard to improvements to the VC++8.0 SxS deployment system, unfortunately there are no changes to the deployment scenario in VC9.0. On the other side, we realize that there is some pain there. We currently have plans to look into that (even if a redesign is needed) and hence would like to hear more about the issues you are facing and your suggestions for improvements. Please feel  free to contact me directly at aymans at microsoft dot com

    Thanks,

    Ayman Shoukry

    Lead Program Manager

    Visual C++ Team

  11. anonymous says:

    1.  Pls include x64 compilers in C++ 2008 Express.

    2.  Pls include MFC and ATL in C++ 2008 Express.

    3.  Pls include Class View in VB 2008 Express.

  12. [原文地址] VS 2008 Performance Improvements [原文发表时间] Thursday, September 27, 2007 4:52 PM 在 VS 2008 中 ,我们就开发人员所关心的一些常见的使用场景在性能上作了很大的改进

  13. PatriotB says:

    I’m hoping the "VS takes 2+ minutes to shut down after it’s been left open for several days" problem has been solved. 🙂

  14. Neil says:

    Patriot,

    Have you seen that problem in Visual Studio 2008 Beta 2? If so, can you please log the issue through http://connect.microsoft.com/ with as much detail as you can provide? Include things like the size and type of solution you are building (native, managed, web, device, etc).

    Thanks!

    Neil Enns

    Senior Program Manager

    Microsoft Visual Studio Platform Team

  15. vcblog says:

    Responding to the post that requested:

    1.  Pls include x64 compilers in C++ 2008 Express.

    2.  Pls include MFC and ATL in C++ 2008 Express.

    While both of these are fine requests, we’re unable to implement in the Visual C++ 2008 Express time frame.  We will definitely consider these for the next versions.

    Bill Dunlap

    Visual C++ Development Team

  16. johnmont says:

    Responding to the post that requested:

    3.  Pls include Class View in VB 2008 Express.

    This is a great request and VC# Express does have this feature. For the core (beginner) customer segment that VB Express was aiming for, we decided not to include it in VS 2008. We will consider this for the next version.

    John

    VS Express Team

  17. Jared says:

    I am overjoyed that performance is being improved in VS 2008!  My past experience had been VS get slower each iteration: VS6, VS2003 and VS2005.  And to me, better performance is *really* much more important than Cool.New.Features.

    This really is an interesting post, but… I don’t see performance improvements centered on the native C++ story.  What work has been done there?

    thanks,

    Jared

  18. John Lemire says:

    Hi I installed VS2008 Beta2 and can no longer find windiff.  Im wondering if this is because there’s some forthcoming diff’ing experince integrated into the ide. If not why was it removed and will you please bring it back prior to rtm?

    thanks

    -john

  19. Pat Litherland (Windows SDK Program Manager) says:

    You can now find WinDiff.exe in the "C:Program FilesMicrosoft SDKsWindowsv6.0ABin" folder in all VS2008 installs after Beta 1 including RTM.

  20. A couple of weeks a go I blogged about the performance improvements in Visual Studio 2008. In response

  21. Somasegar’s WebLog has a entry on VC++ Performance Improvements in VS 2008 . A couple of days ago he

  22. Somasegar, jefe en Microsoft Corp. de muchos de los avances de la plataforma .NET, ha realizado unos

  23. [原文地址]: VC++ Performance Improvements in VS 2008 [原文发表时间]: Wednesday, October 10, 2007 5:59 PM 几个星期前

  24. Bink.nu says:

    A couple of weeks a go I blogged about the performance improvements in Visual Studio 2008. In response

  25. Brad Bellomo says:

    How is 100% faster?  Does it really take less than 1/200th of the time of visual studio 2005 and you rounded?

  26. David Berg [Microsoft] says:

    Brad,

    When we say "Scrolling large C# files in the Editor is 100% faster" we mean that you can scroll 100% more lines in the same amount of time (or twice as fast).

    Sorry for the confusion.

    Dave Berg

    Developer Division, Performance Engineering

  27. I'm currently trying to pro-actively drive the adoption of the .NET Framework 3.5 and VS 2008 within

  28. dude says:

    Forget about performance, or functionality improvements, can VB.NET compile a non-trival web project without crashing in debug mode!!

    Can it detect basic compile problems at compile time, or just barf at runtime like vs 2005..

    Will it work with multi-core cpu’s without going to sleep?

    Having been burnt before when is  2008 SP1 due out?

  29. If you have not heard yet, VS2008 was just Released to Manufacturing !  If you have an MSDN subscription,

  30. weiwcn says:

    [原文地址]VS2008PerformanceImprovements

    [原文发表时间]Thursday,September27,20074:52PM 在VS2008中…

  31. Mark Joshi says:

    Where can i find a list of changes between the 2005 and 2008 versions of C++.

    Also there was a bug in 2005 that it could get confused about the number of copies of static variables in templatized functions when optimizing. Was this fixed?

  32. Marcin Kosieradzki says:

    Beside impressive performance improovements you have written about, you fogot to mention in your post about

    10x performance decrease in Windows Forms designer

    10x performance decrease in Web Forms designer

    Random stalls during: especially between compilation end and displaying results.

    Those problems occur on 8 core Xeon 1.6, with 8 GB ram and RAID 10 7200 RPM configuration on Windows 2003 x64.

  33. David Berg [MSFT] says:

    Marcin Kosieradzki,

    Could you please e-mail me at DevPerf@Microsoft.com with some more details about the performance problems you’re seeing?  I’d like to understand the situation better so that we can make sure it gets addressed.  

    Thanks!

    David Berg

    Microsoft, Developer Division

    Performance Engineering Team

  34. Marcin Kosieradzki says:

    Thanks for response!

    Of course, I will try to reproduce and describe those issues and send them soon.

  35. .NET SEO says:

    VS2008  really rocks. It has so many imporvements that it just totally changed my way of working while developing ASP.NET websites. I´m in love with the better support of css at design time and (of course) the better perfomance is sooo sweet!

  36. Allan Gobin says:

    I guess the VS 2008 team decided to improve on the 2005 terrible memory consumption habits too.  The IDE is practically unusable once it starts to eat up all of your memory.  So all of these great improvements you are talking about becomes meaningless 🙂

  37. David Berg [MSFT] says:

    Alan,

    I’m very interested in getting a repro case for the memory problems you’re seeing.  Can you either e-mail me more details (DevPerf@Microsoft.com) or file a connect bug?

    Thanks,

    David Berg

    Microsoft Developer Division

    Performance Engineering Team

  38. Sad to say, I’ve gone from using and enjoying Visual Studio (in the 2005 version) to dumping it almost entirely (Visual Studio 2008).

    Performance in Visual Studio 2008 is so frustratingly slow, it’s more productive for me not to use an IDE at all. By the looks of this post itself, the *intention* was to increase performance, but in the time I’ve used it, *everything* is slower, buggier, and I see the (Not Responding) in the title bar more often that I see VS performing any productive task. Sometimes the window won’t even repaint, and I’m stuck with an almost entirely hung machine.

    If my Core Duo w/2GB RAM can’t handle this IDE, and the previous poster’s *8 CORE XEON* can’t handle this IDE, I see no point in using it.

    I’m going back to VS2005. =(

  39. Sorry for the harsh comment there; two kind engineers from Microsoft have just offered their assistance to help me track down the speed/performance issues with my install of VS2008.

  40. Ryk says:

    I hate to burst your bubble, but my IDE is the slowest EVER! I have never had visual studio this slow. I have a massive VB.NET web application. I had to go back to VS 2005.

    I have a Quad core 2.8ghz with 4gb ram, and it is literally like an old typewriter where you type and then wait to see the characters appear one at at time at a pace of about 2 or 3 chars per second.

    I cannot take this any more, we had the same issue when we went from VS2003 to VS2005, but then MS released a hot fix which helped us. I have thus far installed hot fix KB946581 and still slow as before.

    And it is not like I did not test the CTP’s. I tested them and complained about the same issue then. Why do I have to bother testing software for MS in the future if they release it full of bugs?

  41. David Berg [MSFT] says:

    Ryk,

    I’m sorry VS 2008 isn’t living up to your expectations.  I’d appreciate it if you’d be willing to help me understand the issues you’re facing, and the history behind them, both to resolve the current problem and help prevent future issues.

    You can reach me at DevPerf@Microsoft.Com.

    Thanks!

    David Berg

    Microsoft Developer Division

    Performance Engineering Team

  42. Michael Pine says:

    I am also finding that the Visual Studio 2008 interface is frustratingly slow, surely there has to be something out there to fix this, or is it something to do with machine configuration, do virus scanners effect it ??

    I have also noticed that if you do a search in the Object browser that you need to clear the search text out or else, the interface will constantly repeat the search.

    The product is very good, but the interface issues needs to be fixed it is frustrating.

  43. David Berg [MSFT] says:

    Michael,

    I’ve been working with Will and Ryk on their issues (and I think we’ve got Will’s resolved).  Can you please contact me at DevPerf@Microsoft.com so I can understand your issues a little better and we can see if we can get them resolved?

    Thanks!

    David Berg

    Microsoft Developer Division

    Performance Engineering Team

  44. AleV says:

    Hi, I’m concerned about the performance issues that I’m facing before and after the installation of the hotfix 946581. My system is running with 2GB of RAM over Vista Ultimate with all the updates. I have installed VSS + update, VS 2008 TS + hotfix, SQL 2005 + SP2. At the moment, using the system with a simple web project (20 pages with ajax + 3.5). I would like to mention this issue comes from previous installation under XP SP2 and XP 64, and the problem is the same. The time and the resources VS 2008 takes to render (if possible, because most of the times I feel so frustrated that the system takes 800 MB of ram and growing that I close the process) the page in design view, or changing from design-View to design-source. The page that break the system has multiview and 10 views, is THAT to much for VS 2008? Let me know and I will split my page, please!!!

  45. David Berg [MSFT] says:

    AleV,

    We’re sorry to hear about the performance issues you’re facing.  Can you please contact me at DevPerf@Microsoft.Com?  I’d like to know more about your issues and see what we can do to resolve them.

    Best Regards,

    David Berg

    Microsoft Developer Division

    Performance Engineering Team

  46. Ak says:

    The VS 2008 is amazing but i too agree that the interface is slow. Especially when you are designing an aspx page in split mode. It takes some time to refresh the page after modifying or adding a control. Also the RAM usage goes up all the way and the overall system gets slow.

    I have 1 GB ram on my machine with a 2.3 GHz processor. Do i need an upgrade to 2GB, will it help. Could some body please let me know.

    Thanx

  47. David Berg [MSFT] says:

    AK,

    We expect that upgrading to 2GB will help your performance, but can’t be sure without knowing a lot more about your system, environment and the specific problem.

    If you haven’t already, you should try installing this hotfix: http://support.microsoft.com/kb/946581.

    You can get the latest list of hot fixes from http://connect.microsoft.com/VisualStudio.  

    Regards,

    David Berg

    Performance Engineering Team

    DevPerf@Microsoft.Com

  48. joshua says:

    BS.

    The performance for editing ASPX pages (not split, just the source code) is frustratingly slow.  Every time i try to edit an exiting element there is a lag of a sec or two.  Meaning that I type something and try to move and the cursor sits there for a couple of seconds waiting for it to catch up.

    I’m not sure if it’s the intelisense that’s slowing it up, but this is such a crock that it’s not worth using.

    Why not improve the performance before trying making it look cool?

  49. joshua says:

    PS.

    I’m running 2GB of RAM on a 1.6Ghz processor.  Unfortunately I’m also running vista…

  50. David Berg [MSFT] says:

    Joshua,

    Thanks for the feedback.  We’re aware of a number of performance issues with editing ASPX pages that have come to light since we shipped VS 2008.  And we understand how frustrating it is.

    Most of the issues seem to be related to the complexity of the pages, especially when a lot of nesting is involved (multi-view components in particular generate a lot of nesting).  If you have opportunity to reduce nesting in your web pages, or remove unused components and AJAX Extensions, that may help (although it’s understandably not ideal).

    Some of the issues are address by hotfix http://support.microsoft.com/kb/946581, and we’re continuing to work on others (we’ll make sure we post on Soma’s blog when they’re available).

    If you’d like us to look at your specific problem, you can contact me at DevPerf@Microsoft.com.

    Regards,

    David Berg

    Performance Engineering Team

  51. robert says:

    The hotfix did not help me. My issue isn’t with Source mode of an aspx page, but when I switch to Design or Split mode. Even on a page that has nothing but 2 user controls, a line registering Crystal Reports control, and a div, takes almost 2 minutes to load.

    I’ve tried everywhere and everything that has been suggested.

    Any new solutions, service packs planned? My company needs this ASAP. We jumped from VS2003 to VS2008 so we can’t just go back.

    Thanks for any help.

    robert

  52. David Berg [Msft] says:

    Robert,

    We’re very interested in understanding your problem.  Can you please contact me at DevPerf@Microsoft.com so that we can take a closer look?

    Thanks,

    David Berg

    Performance Engineering Team

  53. Inna says:

    Problem – cancel build not working.

    When I start the build, there is no way to cancel it quickly, If there is an error, I can see a message "Build failed" at the bottom, but then VS appears to be hung for quite a while. What is it doing? Ctrl-Break or Ctrl-Alt-Break doesn’t help. Stop Bulid button is usually disabled. When it is enabled, it doesn’t do anything. It is a relatively large application with several projects, but not huge. Could you please help?

    Inna

  54. David Berg [MSFT] says:

    Inna,

    The build process is slightly different depending on what you’re building (e.g. C++, C#, VB, or Web Projects).  If you’d like to contact me at devperf@microsoft.com I’d be happy to discuss the specifics of your problem.

    Unfortunately, the build process currently happens on the main UI thread, effectively suspending message processing (and the cancel button) for large portions of the build process.  We are working on a fix for a future release.

    If overall build performance is a concern, you might want to check out the new multi-processor command line build support in VS2008.

    Regards,

    David Berg

    Performance Engineering Team

  55. Richard Kittrell says:

    I am attempting to use Crystal Reports Basic in Visual Studio 2008 w/SP1 Beta.  Performance is terrible.  It is extremely slow in loading, and anytime I work with a text field it take 1 to 2 minutes just to be able to edit the content.  The opening of the report in the IDE is also extremely slow.

  56. Richard,

    Taking a couple minutes to edit a text field in Crystal Reports sounds awful.

    We’d really like to better understand these problems a little better.  Can you e-mail me at DevPerf@Microsoft.com with some more information about your system and what you’re doing.

    Thanks,

    David Berg

    Microsoft Developer Division

    Performance Engineering Team

  57. PRMan says:

    I know this is probably not the correct place for this, but I found a major productivity bug as well.

    In VS 2008, if I click at the left side of a line to do a line select and then click the Comment Block button, it will only comment the highlighted line.

    But if I do it on a Javascript page, it highlights an additional line as well.  In fact, Javascript seems to always highlight one additional line.

    Going back and forth between the two is driving me crazy, because they should work the same.

    Thanks.

  58. Ayaz Shaikh says:

    What is the equivalent technics of ATL in VS 2008 ? How to implement ATL in VS 2008 ?

  59. Lloyd Dupont says:

    I wonder what can be a source of VS2008 slowness?

    VS2008 used to be fast and sleek on my machine.

    I can’t remember what happened, I think it’s when I changed job and had to install ReSharper (which I latter removed, good riddance)

    Anyway, I think since this ReSharper event, I think VS is slower. And there is at least 1 feature where its painfully obvious beyound doubt: implement interface / abstract class.

    If I create a new C# Console application", create a new class "Class1", mark it as "IDisposable", VS will offer to implement the interface for me (ALT+SHIFT+F10 when the cursor is on "IDisposable"). IF I use VS interface member auto generation in this empty project for the small and common IDisposable interface, I will have to wait for about 10 second!!!!

    Any clue on what can I do?

    Also I did uninstall ReSharper (which I believe is the troublemaker) yet it’s still horrendous, where could I look for left over files?

  60. Lloyd Dupont says:

    Also, automatically declaring an event method handler (as in, when you write "foo.SomeEvent +=" followed by pressing the TAb key twice), takes way too much time as well (~5 seconds)

  61. Lloyd Dupont says:

    devenv.exe /SafeMode

    it’s snappy again but without any plugins!

    I finally solved it anyway.

    I deleted all the Visual Studio registry keys, reinstalled, and it’s snappy again!

  62. Bob says:

    Don’t believe all the hype about performance.  I just purchased VS2008 because of what I was reading about the performance improvements.  I just couldn’t take the poor performance of VS20005 any longer.  Wow was that a mistake!  VS2008 is extremely slow (the ide) … you have to wait at least 3 – 5 seconds after each keystroke.  The performance is awful!  I see no improvement over VS2005 whatsoever.  I can’t believe that Microsoft cannot offer me (since vb6) an IDE that can perform as quickly as I think and type.  Waiting for the IDE to catch up with me is frustrating enough but add poor compile times and you have an extremely slow environment that doesn’t improve the poor performance one bit over VS2005.  Pentium 2.4 w/ 1gb ram.  

  63. David Berg says:

    Bob,

    I’m sorry VS2008 isn’t performing the way you’d like.  I’d like to understand more about the performance problems you’re encountering and your system setup.  Also, please make sure you have the VS2008 SP1 update installed.

    Can you contact me at DevPerf@Microsoft.com?

    Thanks,

    David Berg

    Microsoft Developer Division

    Performance Engineering Team

  64. Bob says:

    Is anyone actually successfully using VS 2008?  I have tried everything and the IDE is simply unusable.  I think I have wasted a lot of money.  I am going to use VS 2005 for now however it has always been terribly slow and that is why I purchased VS 2008 and upgrade from 1gig to 2gig Ram…(2.4mhz motherboard… is that too slow? )  If you are thinking of installing VS 2008 to relieve yourself from the slow and buggy IDE of 2005 don’t bother.  It will cost you dearly and you won’t believe the poor results.

    I have applied SP1

    Hotfix KB946581

    I have upgraded from 1gig to 2gig on the motherboard

    I have turned off the following:

    Auto list members

    Automatic insertion of end constructs

    Pretty listing

    Enable outlining mode

    Automatic insertion of Interface…..

    Show procedure line separators

    Enable error correction suggestion

    Renamed feacp.dll

    Still slow and buggy.  Do we need higher powered machines for this?  Is Microsoft ignoring the performance issues?

    Every line or so, the CPU usage spikes to 100% and the IDE just sits there for 10 or 15 seconds.

    I code everyday.  It’s what I have done for the last 20 years.  I am very disappointed in VS2008, it is not usable in it’s current form.

    I am running above the requirements with 2.4GHZ XP Pro 2 gig Ram (just added a gig in hopes of that being a fix)

    Has anyone had any success using the IDE (professionals only please) and if so, what machine are you using?  I need to resolve this.  VS2005 is so slow I finally sprung for 2008 and to my complete disbelieve it is even slower!

  65. David Berg says:

    Bob,

    Sorry you’re running into such major performance problems.  Yes, lots of people are using VS2008 and happy about the performance (including for very large projects).

    Your machine sounds fine (we did most of our performance testing of VS2008 on 1 and 2GB machines), although there’s a lot more to good performance than just memory and CPU speed.

    I’d like to know more about your environment and the problems you’re running into.  You can reach me at devperf@microsoft.com.  

    Thanks,

    Dave Berg

    Microsoft Developer Division, Performance Engineering Team

  66. David Berg says:

    Lloyd Dupont,

    I’m really glad to hear you resolved your performance issues.  I’d appreciate any additional insights you have into what was wrong so we can try to make sure others don’t run into problems.

    You can reach me at devperf@microsoft.com.  

    Thanks,

    Dave Berg

    Microsoft Developer Division, Performance Engineering Team

  67. Bob says:

    Thanks David,  

    With your assistance we have overcome the performance issues and now realize the performance enhancements of VS 2008.  Here’s the skinny for anyone stuck as we were with this performance thing.  Our applications are typically modest in size with 10 – 20 forms and a Web Service Reference.  Our ability to code in the IDE was compromised by the performance of the IDE constantly pegging the CPU usage to 100% and seemingly freezing for a few seconds.  Without the web service reference the IDE seemed to perform just fine.  Turns out there is a setting under the properties of the main project in my solution under ‘compile’ and is displayed as a click/check box.  ‘Generate XML documentation file’.  It appears with this option unchecked suddenly the VS2008 IDE (using VB) performs very well.  Now that being said, without my web services reference, it makes no difference if this is on or off.  So by removing the web reference I immediately noticed better performance but the real silver bullet was turning off this option.  

    I think the key be in the size and complexity of the web service that you are referencing.  The one we referenced in this scenario is quite comprehensive.  Smaller less complex web services did not seem to adversely affect IDE performance.

    Will having this option off adversely affect anything?  I’m not really sure I have any need for xml docs… but does the app?   I don’t use them for anything.  Even though this is a compile option, it seems to control behavior in the IDE during editing, perhaps files being updated or something to do with the XML documentation feature.

    The VS2008 IDE for VB is now outperforming expectations.

    Thanks!

  68. David Berg says:

    Bob,

    We’re glad it worked out for you.  

    There’s no adverse affect to turning off XML Docs, but it means that Intellisense will no longer show xml doc info in the tooltips for the related methods/types.

    Also, it turns out that there is a hotfix available for the problem, you can read about it here: http://support.microsoft.com/kb/946344

    Regards,

    Dave Berg – Performance Engineering Team

  69. Steve Porter says:

    I have just upgraded from Visual Studio 2003 to 2008, and have installed Service pack 1.  The application I work on is a console application that calls several dlls, all written in native C++.  My initial testing shows that the code built by 2008 is 3 times slower than 2003.  I am open to any ideas to regain that performance loss.

    Steve

  70. David Berg says:

    Steve,

    When upgrading VC++ projects to VS2008 sometimes the optimization settings get turned off.  

    In the property pages for your project, under Configuration Properties -> C/C++ -> Optimization, make sure you have the settings you expect.  (Optimization != Disabled)

    Also, under  Configuration Properties -> Linker -> Optimization, check References = Eliminate Unreferenced Data and Enable CoMDAT Folding = Remove Redundant COMDATs.

    If that doesn’t help, then please e-mail me at devperf@Microsoft.com with more information.

    Regards,

    David Berg – Performance Engineering Team

  71. Gazmend Hoxha says:

    Can you make a list of all the options / settings that would speed up VB.NET / ASP.NET coding? Print screens are even more welcomed…

  72. Matt says:

    i’m using a Intel Core 2 Quad @2.40 and 3GB ram, how come it seems that Visual studio can only use two of the four cores?

    I’ve found that it will max out two core and not touch the other two! meaning VS 2008 just hangs for a minute or so before catching up with itself.

  73. David Berg says:

    Matt,

    Can you let me know a little bit more about what you’re trying to accomplish?  I’d like to understand where you’re bottlenecks are at.  You can e-mail me at DevPerf@Microsoft.com.

    Regards,

    David Berg – Performance Engineering Team

  74. ricom says:

    I’m glad David has jumped on this thread too.  For what it’s worth, it’s not too surprising to find VS to be using less than the full number processors.  This is actually quite a challenge for modern applications which often have only one UI thread.  

    While VS can and does use more than one thread or even more than one process in a variety of cases there are many cases in which just one thread can do the work.  That’s something we’d like to change.

    Unlike clock rate increases, adding more processors doesn’t result in automatic extra performance due to parallelism.  That too is something we’d like to change but that is an even deeper discussion about having (more) programming models that scale (more often) to the available processing power.

    Sadly, in our current code base, there’s nothing automatic about any of this.

  75. Saurabh says:

    My VS2008 SP1 is crashing when I detach debugger when debugging classic ASP. Is there a hotfix or solution available to work around this problem? This problem is described in detail here (http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/2666a8e4-e7dc-4e9f-83df-955aca67bf55/)

  76. Felluh says:

    You’re a god damn liar sir.

    this is what i go though because of your actions:

    http://blog.wolffmyren.com/2008/01/30/visual-studio-2008-is-a-steaming-pile-of-crap/

  77. David Berg says:

    Felluh,

    Can you provide more details about your specific problems / issues?  The blog you referenced has a number of issues, some of which are resolved and some of which aren’t, but it’s not clear which of those are your issues.

    Regards,

    David Berg

    Performance Engineering

  78. John Younie says:

    I am experiencing the issues I have read above, my vb 2008 ide is really slow when editing aspx pages and gives the (Not Responding) message frequently.  Same issue when loading Master Pages and the IDe feels clunky.

    I tried the hot fix mentioned above after Bob switched of the xml documentation, I even switched that off and it is quicker, but still painfull.

    I’m running on 64bit Centrino Duo with 4 gbyte memory – VS should really be whizzing along!

    Thanks

    John

  79. Amy Dullard says:

    @John Younie can you contact me at amy.dullard@microsoft.com so I can get more info from you? (Code vs. Design view, page content, etc) Thanks!

  80. Thomas K says:

    David Berg, my highest appreciation for offering your help despite Felluh's offensive tone.

    In my case, what that improved build performance the most was to use a fast, dedicated disk for compiling, to adjust virusscan policy for devenv.exe, to define the same outputfolder for every project and then to set CopyLocal to false on project references.

    Some additional resources:

    stackoverflow.com/…/visual-studio-optimizations

    weblogs.asp.net/…/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx

    arnosoftwaredev.blogspot.com/…/how-to-improve-visual-studio-compile.html

    blog.brianhartsock.com/…/analyzing-visual-studio-build-performance

Skip to main content