VB2008 Outperforms VB2005! (Lisa Feigenbaum)
Looking for another reason to upgrade to 2008? How about performance! In addition to making tasks easier for you from release to release, another way we can save you time and make you more productive is by making the product faster! This is a goal we are very commited to on the VB team, and for which we have dedicated an entire virtual team for the Orcas release. Take a look at the stats below to see some interesting improvements.
[**DISCLAIMER: The data posted here is what I have observed from comparing 2 runs in our internal labs. These are my observations using two large customer solutions on a specific machine. Some people will have faster systems and some will have slower. Also, the work required for each operation will differ based on your solution. Thus, your results may be better or worse. The interesting thing is to look at the improvement between versions on identical hardware. I am posting this data to try and give you a general idea of the changes - but these numbers are by no means meant to be used as an industry standard.
For those interested, here's some data on the solutions and machine that I used... One solution contains 29 projects and 2772 files, with xml comments on all methods and types. The other solution used contains 783 files. The machine has the following specs: Dual Core Pentium-D - 3.0GHz, 1GB RAM, 10K RPM HD. OS=XP. These are one of many machine specifications that we use for our internal performance testing.]
| Scenario |
VB2005 Time (ms) |
VB2008 Time (ms) |
VB2008 is x times faster than VB2005 (2005 time/ 2008 time) |
VB2008 takes x% as much time as VB2005 (100% * 2008 time/ 2005 time) |
| Build a large project (using background compilation) |
222206.25 |
1352.88 |
164.25 |
0.61% |
| Build a large multi-project solution (explicit build operation) |
1618604.75 |
57542.75 |
28.13 |
3.56% |
| Build a large multi-project solution (using background compilation) |
222925.50 |
19861.88 |
11.22 |
8.91% |
| Responsiveness after adding a member to a class |
327.00 |
36.50 |
8.96 |
11.16% |
| Responsiveness after opening a project |
255551.25 |
38769.38 |
6.59 |
15.17% |
| Invoke Intellisense to see a list of types (first time) |
1192.50 |
530.5 |
2.25 |
44.49% |
| Edit-and-Continue in a solution with xml comments (first time) |
441.25 |
210.5 |
2.10 |
47.71% |
| Responsiveness after changing a method statement |
390.25 |
236.38 |
1.65 |
60.57% |
| 10 Steps in the debugger (subsequent times) |
1850.75 |
1167.13 |
1.59 |
63.06% |
| Invoke Intellisense to see a list of types (subsequent times) |
79.25 |
51.5 |
1.54 |
64.98% |
| F5 when the solution is already built (subsequent times) |
385.20 |
278.7 |
1.38 |
72.35% |
| Item gets added to the Error List after making an error |
531.25 |
394.5 |
1.35 |
74.26% |
| 10 Steps in the debugger (first time) |
1336.50 |
1150 |
1.16 |
86.05% |
| Responsiveness while background compiling on an open solution |
4803.00 |
4284.75 |
1.12 |
89.21% |
| Load a large solution (subsequent times) |
13667.5 |
12407.25 |
1.10 |
90.78% |
Load a large solution (first time) (Note: This is the improvement on XP. Vista has seen about twice as much improvement for the Load Solution scenario than XP. ) |
19946.25 |
18222 |
1.09 |
91.36% |
** All times are found by performing operations on customer solutions.
Don't you wish we were using your solution to optimize our times? Send it in so that we can optimize for you! (vbperf@microsoft.com) We are always interested to get more customer projects for our testing.
Is there another scenario you're interested that you don't see above, where you continue to experience performance lags in your regular usage of the product? Please send in repro steps so we can take a look! (vbperf@microsoft.com)
Other interesting VB2008 Performance content to check out is listed below:
-
In this Channel9 video, VB perf developer Cameron McColl talks about and demonstrates several of the VB perf improvements in Orcas: http://channel9.msdn.com/ShowPost.aspx?PostID=328382#328382. 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 in VB2008.
-