Visual Web Developer (Whidbey) Performance
Hello! I've been a dev at Microsoft for eight years now, and have been working on Visual Studio for the last five or six of them.
Recently I've changed roles. I've always worked on the web development part of Visual Studio (from Visual InterDev through Visual Web Developer) but I'm moving off the feature area and into performance.
Until recently this responsibility was spread over four people on our team, and it was one of many responsibilities for each of them. Now virtually all the performance testing, monitoring and investigation are my responsibility. I'm new at this; I've had a few narrow performance responsibilities and a little training in the past, but I've got a huge amount to learn and a thousand tasks to complete. It's like heaven. It's hard to beat getting paid to learn new skills, particularly interesting ones. My old friend John Pence and I used to say "Always get paid for learning." It was the company slogan of MacMan, Inc.
Let me clarify my role: my responsibilities are specific to Visual Web Developer, the development environment. If you've downloaded VWD Express then the Project System (represented by the Solution Explorer window and a vast expanse of invisible plumbing behind it) and the ASPX document windows cover a lot of the area I'm primarily concerned with, along with a few additional areas which are harder to visualize; the Cassini-based web server which starts up when you press F5, the Build command, Publishing, Copy Web, the acts of opening and closing web sites, and basically any function which pertains to the website as a whole or the web pages within that site. Intellisense hookup, too, although the Intellisense itself is implemented by language teams. The Shell is the framework of Visual Studio that’s wrapped around our package; it’s the part that’s the same for C# Express and VWD Express.
I'm not involved with performance of the Shell, the ASP.Net runtime, the .Net class library, C#, VB, or SQL, but I am getting to know most of these people, so if you have comments on any of these areas I might be able to pass them on but probably won't be able to follow up on them unless they're major issues which impact the entire product. If you're a Visual Web Developer beta user, I'd love to hear about your performance-related experiences with the beta.
For you precious beta testers (I am one of you) I've got some questions. Please let me know:
- Have you used other Visual Studio products for web development before? VID, VS7, VS7.1? How does VWD stack up performance-wise?
- How much RAM are you using? Are you memory bound? What do you think the minimum RAM requirement should be?
- Have you run into limits where performance breaks down? Say, one or two web forms are OK, but once you hit 317...
- Are there spots where you reach for the reset button, thinking the system is hung? Where are those spots?
- Most important (if you have one of these please drop what you're doing and post a reply) have you ever hit a painfully long pause right in the middle of a thought, that is, have you lost your train of thought while your hard disk flashes and you CPU moans? Where was that point? What do I need to know to reproduce that experience?
If you've got performance complaints with Visual Web Developer, you've found the right guy to notify. I can't guarantee I can solve every problem of course, but I can get your problem areas on the map. I can make sure test cases cover them. I can assure that fixing them or shipping them becomes a conscious decision. I know it's not always easy to tell, but these decisions aren't made lightly. If I don't hear from our users, my focus will be directed solely by my best guesses and suggestions of our team and division. Your input could make a big difference in the product we ship.