Despite the fact that we made what I still feel is a solid release, we’ve been clearly seeing some customers having problems with the performance of the VB 2005 compiler when used on large VB projects. In response to a number of problems that we’ve isolated, we’ve released a QFE that addresses many of the major problems people are having. To quote the announcement in the forums:
We’ve received feedback, both directly from developers and in the forums, regarding slow performance of the Visual Basic 2005 IDE in certain situations (larger projects, projects with many errors, etc.).
I’m sorry that these issues made it to production and degraded the performance of the IDE. The Visual Basic Performance team is working hard to address these issues via hotfixes and the upcoming Visual Basic 2005 SP1 while we work on engineering changes to make sure that issues such as these never make it into a shipping product in the future.
Based on this feedback and forum posts, we’ve been working with customers to address these performance issues. We recently released a performance hotfix to address the following areas of Visual Basic 2005 performance:
- Improves the performance of single-stepping (F10) debugging.
- Improves the performance of Task/Error List Refresh.
- Improves the performance of Intellisense.
You can learn more about this hotfix in the KB 920805 article (http://support.microsoft.com/kb/920805/en-us). In order to get this hotfix, you need to contact support and reference KB 920805. Details on contacting support can be found at http://support.microsoft.com/contactus/?ws=support.
Note that this hotfix rolls up all performance hotfixes to date, so installing this hotfix will give you the best IDE performance.
Again, we appreciate your feedback and we thank you for your patience while we address these issues. Please contact email@example.com if you continue to see issues after applying this hotfix.
Visual Basic Performance Program Manager
As Chris says, these hotfixes (which you currently have to go through support to get, so we can track the QFEs we’re handing out) will be rolled into SP1. I encourage people to email firstname.lastname@example.org if you are having performance problems that aren’t addressed by the QFE so we can work on isolating the problems you’re seeing and get them fixed.
Man! I had a flash-back to my ’80s Quick Basic days when I felt like MS really wanted my input on how their product was working in the field. I remember calling in on a problem and getting transferred to a developer who had been working on a related problem. Those were the days!
But this is great, being encouraged to help isolate problems so you can get us a better product. Maybe it’s a smaller world then I thought!
Thanks Paul, I like your blog, keep it up!
I have the hot fix installed and it has made very little difference.
The thing that bugs me the most is that you would actually say, that you guys made a solid release of vs2005. Nothing could be further from the truth. The quality of 2005 is significantly less then 2003. The product blows up doing normal development and will often loose changes when it does. You guys blew it on vs2005. The product was not ready for release when it came out.
We need a reliable product for development. 2005 is not it. Please release something soon that addresses both the compiler errors and the performance issues.
And while you are at it how about fixing the runtime performance issues as well, I can consistantly do better with vb6.
Slow performance is annoying, but I haven’t had VB 2005 blow up often if at all. It may be the users experience is related to a specific modules/controls machine. It would be helpful to know that.
I wouldn’t be programming with .NET at all if VB2005 had not arrived. I’ll be VB6-ing for some time to come. You can’t exactly flip a switch and still meet customer expectations, but I would say VB2005 may be close to the VB 5.0 experience. Terrific improvements, but still needs some polish.
R.L. Nelson and Associates, Inc.
I personally have seen some performance increase from the patch but it is still along ways out from me being able to convert to the new IDE. Sadly I am forced to remain in VS2003 (which is not that bad since I have become accustom to its little quirks’) and not benefit from the reported 10-20% increase in performance from the .NET 2.0 framework (not confirmed on my end).
I recently moved my 48 project framework (consisting of 3 solutions) to 2.0 and felt some pain as the operation took roughly 10 hours in all but was pleased that it converted ?
The biggest drawback from the new IDE is the lag from moving from design view to code view for ASP.NET (1 minute in some cases). I firmly believe all options for the IDE should provide the ability to disable them for performance enhancements. Running the IDE on a 3Ghz with 3+ gig ram should be sufficient for any development in the IDE. Yet it is painful to move in solutions with 6+ projects.
While I see the direction of the new IDE is to entice VB6 crowd to transition with the edit/continue and powerful intellisense – they must pay more attention to the group of us that took the leap initially without the features present. I appreciate the leaps and bounds my coding grew from the lack of features initially present and welcome the even more increased productivity the new IDE advertises but it must not sacrifice the existing speed.
I will consistently re-evaluate the new IDE as patches are released to hopefully move over sooner than later. I can not take a performance decrease in fundamental tasks – such as changing code when I do not experience them in my current IDE. A lag of 30-60 seconds adds up to be much higher in loss of sanity than edit/continue is to the VB6 crowd.
Pingback: Co Kierepka czyta, wie lub mysli
This is the cool thing about .NET, that I think you can take advantage of: Most of the plumbing is in the framework. Basically C++/CLI, C#, and Basic all have their particular features, but in the end it is the CLR that understands these features and CIL that implements those.
The point being that framework releases are important because they affect millions – all end users who have to download that 23MB setup but patches to development tools only affect us. You all can implement features between major releases and pump out a new VB compiler ever other month, a la Managed DirectX. ByRef returns? Friend Assemblies?
I think the VB team should take advantage of all the user feedback and start releasing more short-cycle incremental releases to the compiler that take advantage of features which are useful and don’t really affect the language syntax (like those debugger attributes!).
Another thing you all are gonna wanna look at is the IL for array creation, if you size an array based on a variable you have to subtract 1 and in IL you subtract it then add 1 again because at the IL level arrays are declared by length not upperbound.
I think you could decouple yourselves from VS releases enough to really give your users a helluvan experience beyond just this QFE. Just my (0.02D).ToString("C02") ‘Lord, I’m such a Loser.
I would agree with Wade, but if you use C# a lot (which I do), you may enjoy it more. Seems most of the changes was to give the C# guys what VB guys had already.
The forms designer is terrible now (esp. for control authors). I constantly must close it to fix issues/refresh. Things which worked in 2003 no longer work in 2005.
Debugging is a pain. Debugger always show me "nothing/not available" when I know the value is there. Task/Watch/Locals, takes forever sometimes [hint, look at large lists/collections]. Why can’t I see "Count" on collections in the debugger? Gets even worse while debugging n-tiers.
I like coding .NET better than VB5/6, but the VS6 IDE was much better.
If you don’t see these problems, you’re not working hard enough, or not using it.
Anyway I’m done talking to the wall.
if the current release of VS2005 is solid, how bad would then a regular release be ?
We renewed all our computers, in vain. Unless a developer has "a ton" of time, it is simply to many errors in VS2005(in all respects). We were forced back to VS2003 (and are eagely waiting for the SP1 for VS2005).
We are really "holding our breath" in hope of a better SP1 release.
We’ve been using 2005 with TFS since Oct, 2005 quite productively. Yeah, we have had IDE crashes but I wouldn’t say they have be excessively more than I had with 2003. The major issues we’ve had have been due to the less than steller merge tool that is part of TFS. For IDE crashes the main culprit has be the solution itself. If a developer has abnormal number of crashes with the IDE we have them rebuild their solution and that usually takes care of it. A PITA but at least we are getting our work done.
After reading these posts, I think I better check the version I’m using. Yup – just what I thought, it’s 2005. I’m not really seeing any problems at all. It has been some time since I used 2003, but, I thought 2003 had more problems (at the time I upgraded to 2005).
I wonder if it has more to do with not upgrading projects from previous releases and starting from scratch (also do Win forms development – not much with ASP.NET).
I hate the fact that I have to call someone to get the fix instead of just downloading it. The Windows update is nice and everything, but those of us that are prevented from using it from behind a corporate fire wall can’t get the fix. My IDE crashes about 10+ times a day. Ouch.
I understand that there are some things that seem to be surfacing with the IDE (Designer Meta Tag) approaches. Seems that syncronization of UI parts in the IDE don’t always fire in the needed order, this is noticable in larger projects, or multi-project solutions.
I personally have no problem dealing with these quirks, as a professional I understand these are the growing pains we must all accept.
Visual Basic 2005 is light years ahead of previous versions, the amount of effort required to get things prototyped quickly is simply awesome!
Most all releases of Microsoft products are forced to market. This is Business, this is the financial machine Microsoft drives. I’m sure if we could ask any of the Program Managers would they like to have had an extra month to button up the product before release, the majority would have said yes. But sometimes, things will get overlooked, or simply go un-identified until the technical customer (You and me) have the chance to experience the issues.
I believe in Microsoft, I believe in all they have done, the standards and inovations they have brought to the world, and also believe we are all part of the evolutionary process.
And finally, I believe that complaining about what it doesn’t do, keeps one from experiencing what it does do.
Keep up the great work Microsoft, I’ll exercise my right to have patience until you are able to release the SP1 for VB.NET 2005.
PS. I’ve created over 12 successful products in VB.NET 2005, the issues to me are very minor.
Wow! We are not having any of the problems that you guys have mentioned. We have 2003 and 2005 on all of our developer machines. In the opinion of the developers here 2005 is better than 2003.
The QFE mentioned here is a reg hack so there is nothing to download.
We have had slow performance debugging on mobile solutions and sometimes it get so bad that a reboot is in order. Not often and I’m hoping that this reg hack will fix it.
The ability to alter code during debugging (the way that you could in VB6) is a life saver. Too bad that you can’t do that with mobile projects. We have found a way around that problem for the most part. It’s part of our development methodolgy.
Now as to better performance at the run time level: Yes, please! Then that would be done by upgrading the .Net framework and no code changes for me.
Not Only is this a fix that you have to get from Microsoft, because Microsoft screwed up, you have to wait…In a Que, from 9..7 Central time. Now, it’s 5:19 pst, I’m in a production crunch, my project just reached critical mass, and I can’t get the hot fix. What I see is Microsoft re-inventing the wheel, this time making flats more prevelant!!! Not only in the .NET framework, but if you look at the Enterprise Library from 1.0 to 2.0…fugetaboutit! ARGH!!!
Pingback: Panopticon Central