徐艺波个人网站 | Make everything as simple as possible, but not simpler. Albert Einstein | ||
| 有什么好的建议,可以贴一下。 | |||
| 你的支持,让我们做的更好。 | |||
Visual Studio 2008不久前发布,用了很久了的Visual Studio 2003,它和2003在性能上有什么差别呢。今天伴随着内部BDE的升级,分别测试了4组数据,公布一下,让大家对Visual Studio性能有个感性认识。
所有的测试都是基于同样的231份工程49万行我过去写的代码。为了在尽可能的体现测试的公平性,4份测试数据都是在BDE环境下测试的。
BDE是一套自动构建系统, 由我(徐艺波)在2006年5月设计开发的。该构建系统能够自动实现软件的编译、链接、打包,
而且BDE提供了非常丰富的扩展功能和非常丰富的环境支持工具。 BDE不是免费软件。
231份工程中包含各种各样的组合:汇编和C的混合工程、C和C++的混合工程、纯C/C++工程等等。 由于2005编译器的种种问题,测试的时候没有选用Visual Studio 2005,而主要对比测试Visual Studio 2003和Visual Studio 2008。
下面是在BDE下四种不同环境下的测试数据:
测试环境 | 全部编译所用时间(毫秒) |
Visual Studio 2003 Debug | 602284(ms) used – 10Min 2s 284ms – 490204 lines |
Visual Studio 2003 Release | 707266(ms) used – 11Min 47s 266ms – 490204 lines |
Visual Studio 2008 Debug | 971758(ms) used – 16Min 11s 758ms – 490204 lines |
Visual Studio 2008 Release | 1036628(ms) used – 17Min 16s 628ms – 490204 lines |
由于设计到保密,我没有列出编译的软件路径,下面是详细的这232个工程编译花费的详细时间:
编号 | 代码行数 | Visual Studio 2003 Debug | Visual Studio 2003 Release | Visual Studio 2008 Debug | Visual Studio 2008 Release |
1 | 3311 | 12027(ms) | 9360(ms) | 22479(ms) | 17566(ms) |
2 | 3311 | 9548(ms) | 10156(ms) | 18658(ms) | 19126(ms) |
3 | 9233 | 2230(ms) | 4009(ms) | 2433(ms) | 5616(ms) |
4 | 13401 | 3885(ms) | 6646(ms) | 5351(ms) | 10655(ms) |
5 | 2320 | 422(ms) | 765(ms) | 624(ms) | 2403(ms) |
6 | 1422 | 6022(ms) | 6177(ms) | 6879(ms) | 6302(ms) |
7 | 7323 | 2543(ms) | 3354(ms) | 4836(ms) | 5944(ms) |
8 | 7649 | 2511(ms) | 3775(ms) | 3729(ms) | 5007(ms) |
9 | 7649 | 1716(ms) | 2964(ms) | 2761(ms) | 4275(ms) |
10 | 127 | 1716(ms) | 1529(ms) | 2746(ms) | 2371(ms) |
11 | 413 | 1451(ms) | 1420(ms) | 3214(ms) | 2652(ms) |
12 | 346 | 1248(ms) | 1232(ms) | 2606(ms) | 2403(ms) |
13 | 338 | 1201(ms) | 1326(ms) | 2589(ms) | 2418(ms) |
14 | 1986 | 2293(ms) | 2527(ms) | 4742(ms) | 4696(ms) |
15 | 256 | 1498(ms) | 1685(ms) | 2995(ms) | 2730(ms) |
16 | 3283 | 2481(ms) | 2980(ms) | 4946(ms) | 5398(ms) |
17 | 236 | 1419(ms) | 1373(ms) | 2808(ms) | 2621(ms) |
18 | 34483 | 33307(ms) | 35958(ms) | 63649(ms) | 66082(ms) |
19 | 34483 | 32370(ms) | 35163(ms) | 62166(ms) | 69280(ms) |
20 | 34483 | 31060(ms) | 34492(ms) | 60965(ms) | 64523(ms) |
21 | 84 | 6864(ms) | 10031(ms) | 11248(ms) | 11310(ms) |
22 | 7664 | 2776(ms) | 3963(ms) | 5008(ms) | 5772(ms) |
23 | 89649 | 55802(ms) | 67033(ms) | 89810(ms) | 99216(ms) |
24 | 47934 | 19874(ms) | 31185(ms) | 41340(ms) | 53789(ms) |
25 | 3695 | 1108(ms) | 1591(ms) | 1919(ms) | 2418(ms) |
26 | 24336 | 9672(ms) | 12823(ms) | 15506(ms) | 18065(ms) |
27 | 529 | 1887(ms) | 2511(ms) | 3978(ms) | 4493(ms) |
28 | 21533 | 37643(ms) | 59281(ms) | 36489(ms) | 49249(ms) |
29 | 1600 | 3214(ms) | 3307(ms) | 7129(ms) | 7519(ms) |
30 | 1916 | 4150(ms) | 4477(ms) | 8767(ms) | 7925(ms) |
31 | 1155 | 5460(ms) | 9641(ms) | 7503(ms) | 7878(ms) |
32 | 535 | 1982(ms) | 2512(ms) | 3588(ms) | 3401(ms) |
33 | 616 | 5819(ms) | 9251(ms) | 8050(ms) | 7051(ms) |
34 | 212 | 1341(ms) | 1311(ms) | 2824(ms) | 2652(ms) |
35 | 538 | 1779(ms) | 2121(ms) | 3494(ms) | 3338(ms) |
36 | 97 | 1326(ms) | 1373(ms) | 2761(ms) | 2854(ms) |
37 | 143 | 1326(ms) | 1404(ms) | 2871(ms) | 2574(ms) |
38 | 727 | 3884(ms) | 4259(ms) | 6989(ms) | 7005(ms) |
39 | 748 | 2652(ms) | 3806(ms) | 4009(ms) | 4758(ms) |
40 | 114 | 1404(ms) | 1560(ms) | 2543(ms) | 2606(ms) |
41 | 873 | 1981(ms) | 2449(ms) | 3744(ms) | 3510(ms) |
42 | 379 | 2013(ms) | 2059(ms) | 3713(ms) | 3385(ms) |
43 | 11101 | 7800(ms) | 8112(ms) | 11029(ms) | 10155(ms) |
44 | 1350 | 2511(ms) | 4103(ms) | 4851(ms) | 4727(ms) |
45 | 14377 | 40701(ms) | 53680(ms) | 67112(ms) | 77860(ms) |
46 | 19345 | 28282(ms) | 33743(ms) | 45958(ms) | 50513(ms) |
47 | 1723 | 2871(ms) | 3635(ms) | 4258(ms) | 4010(ms) |
48 | 3201 | 3837(ms) | 4212(ms) | 6630(ms) | 6381(ms) |
49 | 182 | 1451(ms) | 1435(ms) | 2761(ms) | 2590(ms) |
50 | 108 | 1342(ms) | 1326(ms) | 2792(ms) | 2527(ms) |
51 | 107 | 1388(ms) | 1420(ms) | 2839(ms) | 2621(ms) |
52 | 116 | 2277(ms) | 2153(ms) | 3775(ms) | 3401(ms) |
53 | 608 | 2246(ms) | 2137(ms) | 3744(ms) | 3416(ms) |
54 | 184 | 7145(ms) | 7052(ms) | 9906(ms) | 9422(ms) |
55 | 5886 | 3573(ms) | 3494(ms) | 5008(ms) | 5164(ms) |
56 | 16 | 951(ms) | 905(ms) | 1357(ms) | 1357(ms) |
57 | 38 | 1279(ms) | 1139(ms) | 2387(ms) | 2965(ms) |
58 | 48 | 1186(ms) | 1123(ms) | 2433(ms) | 2168(ms) |
59 | 183 | 1216(ms) | 1264(ms) | 2512(ms) | 2278(ms) |
60 | 75 | 1373(ms) | 1326(ms) | 2621(ms) | 2449(ms) |
61 | 113 | 2247(ms) | 2230(ms) | 3494(ms) | 3432(ms) |
62 | 37 | 1466(ms) | 1264(ms) | 2449(ms) | 2168(ms) |
63 | 100 | 1264(ms) | 1232(ms) | 3027(ms) | 2371(ms) |
64 | 12 | 546(ms) | 530(ms) | 1076(ms) | 874(ms) |
65 | 62 | 1248(ms) | 1248(ms) | 2543(ms) | 2277(ms) |
66 | 6 | 562(ms) | 515(ms) | 1077(ms) | 827(ms) |
67 | 338 | 1310(ms) | 1295(ms) | 2433(ms) | 2215(ms) |
68 | 100 | 1217(ms) | 1170(ms) | 2527(ms) | 2216(ms) |
69 | 227 | 889(ms) | 951(ms) | 1731(ms) | 1763(ms) |
70 | 45 | 1217(ms) | 1139(ms) | 2512(ms) | 2262(ms) |
71 | 18448 | 20264(ms) | 21731(ms) | 26458(ms) | 26427(ms) |
72 | 384 | 484(ms) | 546(ms) | 624(ms) | 624(ms) |
73 | 384 | 640(ms) | 733(ms) | 795(ms) | 858(ms) |
74 | 323 | 608(ms) | 624(ms) | 764(ms) | 765(ms) |
75 | 455 | 608(ms) | 593(ms) | 812(ms) | 702(ms) |
76 | 486 | 624(ms) | 733(ms) | 811(ms) | 795(ms) |
77 | 773 | 608(ms) | 609(ms) | 812(ms) | 733(ms) |
78 | 208 | 686(ms) | 671(ms) | 811(ms) | 796(ms) |
79 | 419 | 593(ms) | 577(ms) | 858(ms) | 733(ms) |
80 | 175 | 593(ms) | 702(ms) | 749(ms) | 764(ms) |
81 | 306 | 639(ms) | 593(ms) | 811(ms) | 749(ms) |
82 | 302 | 624(ms) | 593(ms) | 749(ms) | 827(ms) |
83 | 107 | 624(ms) | 608(ms) | 842(ms) | 764(ms) |
84 | 154 | 608(ms) | 640(ms) | 827(ms) | 718(ms) |
85 | 111 | 577(ms) | 593(ms) | 764(ms) | 748(ms) |
86 | 71 | 562(ms) | 624(ms) | 718(ms) | 749(ms) |
87 | 180 | 624(ms) | 578(ms) | 780(ms) | 749(ms) |
88 | 125 | 624(ms) | 624(ms) | 811(ms) | 780(ms) |
89 | 68 | 592(ms) | 531(ms) | 827(ms) | 702(ms) |
90 | 82 | 593(ms) | 702(ms) | 749(ms) | 796(ms) |
91 | 85 | 561(ms) | 593(ms) | 734(ms) | 702(ms) |
92 | 414 | 624(ms) | 655(ms) | 795(ms) | 733(ms) |
93 | 437 | 624(ms) | 624(ms) | 765(ms) | 764(ms) |
94 | 92 | 640(ms) | 624(ms) | 717(ms) | 749(ms) |
95 | 387 | 577(ms) | 640(ms) | 780(ms) | 749(ms) |
96 | 335 | 593(ms) | 593(ms) | 796(ms) | 749(ms) |
97 | 298 | 593(ms) | 702(ms) | 764(ms) | 749(ms) |
98 | 599 | 608(ms) | 640(ms) | 796(ms) | 811(ms) |
99 | 45 | 546(ms) | 577(ms) | 639(ms) | 702(ms) |
100 | 284 | 593(ms) | 561(ms) | 827(ms) | 733(ms) |
101 | 193 | 561(ms) | 578(ms) | 796(ms) | 717(ms) |
102 | 51 | 546(ms) | 546(ms) | 764(ms) | 655(ms) |
103 | 350 | 624(ms) | 686(ms) | 780(ms) | 764(ms) |
104 | 77 | 624(ms) | 609(ms) | 733(ms) | 749(ms) |
105 | 392 | 640(ms) | 639(ms) | 780(ms) | 796(ms) |
106 | 379 | 577(ms) | 546(ms) | 717(ms) | 764(ms) |
107 | 284 | 561(ms) | 687(ms) | 686(ms) | 811(ms) |
108 | 149 | 640(ms) | 639(ms) | 827(ms) | 827(ms) |
109 | 437 | 671(ms) | 640(ms) | 858(ms) | 843(ms) |
110 | 230 | 593(ms) | 530(ms) | 811(ms) | 2246(ms) |
111 | 629 | 639(ms) | 733(ms) | 843(ms) | 936(ms) |
112 | 143 | 609(ms) | 608(ms) | 858(ms) | 780(ms) |
113 | 221 | 624(ms) | 639(ms) | 795(ms) | 764(ms) |
114 | 823 | 842(ms) | 905(ms) | 1248(ms) | 1185(ms) |
115 | 123 | 530(ms) | 561(ms) | 718(ms) | 687(ms) |
116 | 418 | 7644(ms) | 7628(ms) | 7862(ms) | 7784(ms) |
117 | 596 | 733(ms) | 734(ms) | 826(ms) | 874(ms) |
118 | 79 | 624(ms) | 546(ms) | 765(ms) | 702(ms) |
119 | 332 | 608(ms) | 624(ms) | 780(ms) | 764(ms) |
120 | 109 | 593(ms) | 577(ms) | 749(ms) | 702(ms) |
121 | 205 | 624(ms) | 671(ms) | 858(ms) | 764(ms) |
122 | 291 | 593(ms) | 656(ms) | 796(ms) | 749(ms) |
123 | 224 | 577(ms) | 640(ms) | 827(ms) | 764(ms) |
124 | 221 | 624(ms) | 593(ms) | 780(ms) | 748(ms) |
125 | 43 | 577(ms) | 624(ms) | 765(ms) | 671(ms) |
126 | 103 | 608(ms) | 593(ms) | 795(ms) | 686(ms) |
127 | 216 | 561(ms) | 562(ms) | 765(ms) | 733(ms) |
128 | 280 | 546(ms) | 578(ms) | 795(ms) | 749(ms) |
129 | 269 | 624(ms) | 670(ms) | 796(ms) | 858(ms) |
130 | 281 | 609(ms) | 624(ms) | 780(ms) | 764(ms) |
131 | 195 | 671(ms) | 639(ms) | 764(ms) | 780(ms) |
132 | 208 | 608(ms) | 640(ms) | 826(ms) | 780(ms) |
133 | 220 | 624(ms) | 639(ms) | 765(ms) | 780(ms) |
134 | 284 | 640(ms) | 734(ms) | 842(ms) | 780(ms) |
135 | 249 | 639(ms) | 670(ms) | 874(ms) | 780(ms) |
136 | 328 | 577(ms) | 686(ms) | 827(ms) | 765(ms) |
137 | 200 | 577(ms) | 671(ms) | 811(ms) | 780(ms) |
138 | 206 | 593(ms) | 640(ms) | 795(ms) | 749(ms) |
139 | 576 | 671(ms) | 749(ms) | 858(ms) | 858(ms) |
140 | 282 | 655(ms) | 687(ms) | 858(ms) | 827(ms) |
141 | 134 | 640(ms) | 733(ms) | 842(ms) | 780(ms) |
142 | 190 | 546(ms) | 561(ms) | 671(ms) | 718(ms) |
143 | 212 | 608(ms) | 624(ms) | 796(ms) | 795(ms) |
144 | 887 | 609(ms) | 749(ms) | 827(ms) | 827(ms) |
145 | 539 | 655(ms) | 717(ms) | 842(ms) | 811(ms) |
146 | 216 | 640(ms) | 624(ms) | 827(ms) | 780(ms) |
147 | 157 | 593(ms) | 656(ms) | 718(ms) | 749(ms) |
148 | 651 | 671(ms) | 842(ms) | 1014(ms) | 967(ms) |
149 | 242 | 624(ms) | 624(ms) | 811(ms) | 749(ms) |
150 | 272 | 577(ms) | 702(ms) | 780(ms) | 733(ms) |
151 | 197 | 577(ms) | 562(ms) | 749(ms) | 718(ms) |
152 | 94 | 562(ms) | 577(ms) | 702(ms) | 733(ms) |
153 | 310 | 608(ms) | 656(ms) | 858(ms) | 780(ms) |
154 | 944 | 687(ms) | 686(ms) | 842(ms) | 843(ms) |
155 | 227 | 577(ms) | 640(ms) | 718(ms) | 702(ms) |
156 | 653 | 639(ms) | 639(ms) | 826(ms) | 796(ms) |
157 | 643 | 656(ms) | 655(ms) | 780(ms) | 780(ms) |
158 | 367 | 983(ms) | 1061(ms) | 1326(ms) | 1294(ms) |
159 | 1132 | 624(ms) | 734(ms) | 811(ms) | 858(ms) |
160 | 188 | 624(ms) | 655(ms) | 780(ms) | 764(ms) |
161 | 183 | 343(ms) | 421(ms) | 359(ms) | 344(ms) |
162 | 103 | 578(ms) | 577(ms) | 718(ms) | 702(ms) |
163 | 496 | 640(ms) | 702(ms) | 889(ms) | 780(ms) |
164 | 149 | 608(ms) | 624(ms) | 733(ms) | 733(ms) |
165 | 352 | 640(ms) | 686(ms) | 874(ms) | 843(ms) |
166 | 242 | 639(ms) | 733(ms) | 858(ms) | 796(ms) |
167 | 382 | 640(ms) | 765(ms) | 874(ms) | 842(ms) |
168 | 378 | 686(ms) | 686(ms) | 842(ms) | 827(ms) |
169 | 463 | 624(ms) | 749(ms) | 874(ms) | 890(ms) |
170 | 88 | 578(ms) | 546(ms) | 686(ms) | 702(ms) |
171 | 344 | 608(ms) | 686(ms) | 842(ms) | 765(ms) |
172 | 137 | 530(ms) | 546(ms) | 671(ms) | 717(ms) |
173 | 296 | 608(ms) | 671(ms) | 842(ms) | 811(ms) |
174 | 439 | 640(ms) | 717(ms) | 890(ms) | 858(ms) |
175 | 497 | 609(ms) | 624(ms) | 733(ms) | 749(ms) |
176 | 95 | 795(ms) | 874(ms) | 936(ms) | 905(ms) |
177 | 16 | 655(ms) | 577(ms) | 718(ms) | 733(ms) |
178 | 178 | 624(ms) | 624(ms) | 748(ms) | 780(ms) |
179 | 296 | 578(ms) | 624(ms) | 764(ms) | 749(ms) |
180 | 106 | 624(ms) | 624(ms) | 812(ms) | 764(ms) |
181 | 137 | 655(ms) | 592(ms) | 811(ms) | 780(ms) |
182 | 148 | 640(ms) | 609(ms) | 733(ms) | 733(ms) |
183 | 227 | 639(ms) | 671(ms) | 842(ms) | 812(ms) |
184 | 239 | 640(ms) | 624(ms) | 811(ms) | 826(ms) |
185 | 68 | 608(ms) | 593(ms) | 811(ms) | 734(ms) |
186 | 163 | 640(ms) | 655(ms) | 780(ms) | 749(ms) |
187 | 413 | 687(ms) | 702(ms) | 843(ms) | 873(ms) |
188 | 128 | 640(ms) | 624(ms) | 795(ms) | 827(ms) |
189 | 142 | 686(ms) | 639(ms) | 765(ms) | 748(ms) |
190 | 76 | 624(ms) | 593(ms) | 827(ms) | 765(ms) |
191 | 37 | 624(ms) | 686(ms) | 764(ms) | 781(ms) |
192 | 183 | 546(ms) | 624(ms) | 765(ms) | 748(ms) |
193 | 333 | 639(ms) | 765(ms) | 795(ms) | 811(ms) |
194 | 74 | 608(ms) | 655(ms) | 827(ms) | 765(ms) |
195 | 95 | 608(ms) | 624(ms) | 795(ms) | 748(ms) |
196 | 62 | 608(ms) | 655(ms) | 749(ms) | 780(ms) |
197 | 336 | 671(ms) | 624(ms) | 1076(ms) | 796(ms) |
198 | 86 | 624(ms) | 624(ms) | 796(ms) | 749(ms) |
199 | 41 | 639(ms) | 577(ms) | 811(ms) | 780(ms) |
200 | 147 | 624(ms) | 671(ms) | 827(ms) | 780(ms) |
201 | 250 | 655(ms) | 702(ms) | 858(ms) | 842(ms) |
202 | 75 | 609(ms) | 655(ms) | 733(ms) | 811(ms) |
203 | 76 | 609(ms) | 686(ms) | 749(ms) | 749(ms) |
204 | 42 | 671(ms) | 640(ms) | 795(ms) | 780(ms) |
205 | 228 | 639(ms) | 671(ms) | 780(ms) | 796(ms) |
206 | 76 | 562(ms) | 593(ms) | 718(ms) | 749(ms) |
207 | 48 | 609(ms) | 592(ms) | 811(ms) | 748(ms) |
208 | 144 | 609(ms) | 624(ms) | 780(ms) | 780(ms) |
209 | 143 | 608(ms) | 593(ms) | 765(ms) | 749(ms) |
210 | 81 | 624(ms) | 640(ms) | 873(ms) | 827(ms) |
211 | 105 | 593(ms) | 609(ms) | 812(ms) | 826(ms) |
212 | 198 | 639(ms) | 609(ms) | 765(ms) | 796(ms) |
213 | 143 | 609(ms) | 624(ms) | 780(ms) | 780(ms) |
214 | 11 | 374(ms) | 343(ms) | 359(ms) | 343(ms) |
215 | 247 | 8237(ms) | 7192(ms) | 11092(ms) | 10327(ms) |
216 | 126 | 982(ms) | 967(ms) | 1061(ms) | 1670(ms) |
217 | 62 | 546(ms) | 562(ms) | 717(ms) | 686(ms) |
218 | 367 | 1576(ms) | 1638(ms) | 3978(ms) | 3775(ms) |
219 | 50 | 1248(ms) | 1201(ms) | 2777(ms) | 2527(ms) |
220 | 43 | 1217(ms) | 1170(ms) | 2730(ms) | 2372(ms) |
221 | 144 | 484(ms) | 468(ms) | 1014(ms) | 1045(ms) |
222 | 688 | 2808(ms) | 2855(ms) | 5897(ms) | 5741(ms) |
223 | 52 | 5787(ms) | 5507(ms) | 7753(ms) | 7613(ms) |
224 | 54 | 1264(ms) | 1232(ms) | 2527(ms) | 2418(ms) |
225 | 105 | 1201(ms) | 1279(ms) | 2527(ms) | 2262(ms) |
226 | 94 | 920(ms) | 967(ms) | 2636(ms) | 2277(ms) |
227 | 202 | 1170(ms) | 1139(ms) | 2637(ms) | 2434(ms) |
228 | 275 | 468(ms) | 484(ms) | 1124(ms) | 983(ms) |
229 | 40 | 1201(ms) | 1201(ms) | 2402(ms) | 2325(ms) |
230 | 40 | 1138(ms) | 1170(ms) | 2199(ms) | 2184(ms) |
231 | 40 | 1154(ms) | 1202(ms) | 2262(ms) | 2246(ms) |
232 | 1074 | 7161(ms) | 7784(ms) | 9782(ms) | 10935(ms) |