Microsoft Visual C++ Compiler Generated Code Performance

Following values were acquired on a single, completely idle machine (Intel Atom N270 @ 1.60GHz, Windows XP SP3 Home Edition [32-bit]), using same source code and same compile parameters (maximum speed optimizations), but different compilers. This overview is intended to show the assembly code performance of each listed MSVC version.

Do you want to contribute data of a compiler, which is not listed yet? Compile the source code with given compile parameters and provide the resulting binary together with exact compiler version in use. You may provide generated binaries from other than MSVC compilers for reference.
Minimum/Maximum/Average Processing Times for each Compiler
Compiler Minimum (ms) Maximum (ms) Average (ms)
Compiler Minimum (ms) Maximum (ms) Average (ms)
MS Visual C++ 6.0 Enterprise Edition 1453 1500 1457
MS Visual C++ 2003 Enterprise Architect 1500 1578 1503
MS Visual C++ 2005 Professional Edition 1500 1609 1517
MS Visual C++ 2008 Express Edition 1593 1641 1603
MS Visual C++ 2010 Express Edition 1578 1641 1580
MS Visual C++ 2012 Ultimate Tryout[3] - - -
MS Visual C++ 2013.4 Ultimate Tryout 1375 1453 1376
Reference Assembly[1] 1343 1391 1354
GCC 3.4.4 Cygwin 1.5.25[2] 1593 1765 1611
TDM-GCC MinGW 4.5.1-tdm-1[2] 1765 1844 1780

Complete List of Processing Times for each Round per Compiler
Compiler MS Visual C++ 6.0
Enterprise Edition
MS Visual C++ 2003
Enterprise Architect
MS Visual C++ 2005
Professional Edition
MS Visual C++ 2008
Express Edition
MS Visual C++ 2010
Express Edition
MS Visual C++ 2013.4
Ultimate Tryout
Reference
Assembly
GCC 3.4.4
Cygwin 1.5.25
TDM-GCC
MinGW 4.5.1-tdm-1
1. 1500 1578 1609 1641 1641 1453 1391 1640 1844
2. 1453 1531 1516 1609 1593 1406 1359 1610 1765
3. 1485 1500 1515 1610 1579 1375 1375 1609 1797
4. 1453 1500 1531 1609 1578 1391 1344 1625 1782
5. 1469 1516 1516 1594 1593 1375 1359 1609 1781
6. 1468 1500 1516 1593 1579 1375 1359 1610 1781
7. 1454 1500 1500 1594 1578 1375 1344 1609 1781
8. 1468 1500 1500 1594 1578 1391 1360 1610 1782
9. 1469 1516 1516 1609 1594 1375 1359 1625 1765
10. 1453 1500 1516 1594 1578 1375 1344 1609 1781
11. 1469 1500 1531 1594 1578 1375 1359 1609 1782
12. 1469 1500 1515 1609 1578 1390 1344 1610 1781
13. 1468 1515 1516 1594 1594 1375 1359 1625 1781
14. 1454 1500 1516 1594 1578 1375 1344 1625 1781
15. 1453 1500 1500 1593 1578 1391 1359 1609 1766
16. 1468 1500 1515 1610 1578 1375 1360 1625 1781
17. 1454 1516 1516 1594 1594 1375 1359 1609 1766
18. 1468 1500 1531 1593 1578 1375 1359 1610 1781
19. 1453 1500 1516 1610 1578 1391 1344 1609 1781
20. 1469 1516 1531 1593 1578 1375 1360 1610 1782
21. 1453 1500 1531 1594 1578 1375 1343 1609 1765
22. 1469 1500 1516 1610 1594 1375 1360 1609 1782
23. 1453 1500 1516 1593 1578 1390 1343 1625 1781
24. 1453 1515 1515 1610 1578 1375 1360 1594 1765
25. 1500 1500 1500 1593 1578 1375 1359 1625 1782
26. 1469 1500 1515 1594 1594 1375 1344 1609 1781
27. 1453 1500 1516 1610 1578 1391 1359 1610 1781
28. 1469 1500 1516 1593 1578 1375 1344 1609 1766
29. 1468 1516 1500 1594 1579 1375 1359 1610 1781
30. 1453 1500 1500 1594 1578 1375 1344 1609 1766
31. 1454 1500 1516 1594 1593 1375 1360 1609 1781
32. 1468 1500 1516 1609 1579 1390 1359 1610 1781
33. 1453 1515 1531 1594 1578 1375 1344 1609 1781
34. 1454 1500 1515 1593 1593 1375 1359 1625 1766
35. 1468 1500 1516 1610 1579 1375 1344 1609 1781
36. 1469 1500 1516 1594 1578 1375 1359 1610 1797
37. 1453 1516 1500 1593 1578 1375 1344 1609 1781
38. 1453 1500 1515 1610 1578 1375 1359 1610 1782
39. 1469 1500 1532 1593 1594 1375 1344 1609 1765
40. 1453 1500 1546 1594 1578 1391 1359 1609 1782
41. 1453 1516 1516 1610 1578 1375 1360 1610 1781
42. 1469 1500 1516 1593 1578 1375 1344 1609 1765
43. 1453 1500 1515 1594 1594 1375 1359 1625 1797
44. 1469 1500 1516 1594 1578 1390 1344 1609 1766
45. 1453 1515 1516 1609 1578 1375 1359 1610 1781
46. 1469 1500 1515 1594 1578 1375 1344 1609 1781
47. 1453 1500 1516 1609 1578 1375 1359 1625 1766
48. 1469 1500 1515 1594 1578 1391 1360 1610 1781
49. 1453 1500 1516 1594 1578 1375 1343 1609 1766
50. 1453 1516 1516 1594 1578 1375 1360 1609 1781
51. 1469 1500 1515 1593 1578 1375 1343 1610 1765
52. 1468 1500 1516 1610 1594 1391 1360 1625 1782
53. 1469 1500 1516 1593 1578 1375 1344 1609 1765
54. 1453 1516 1515 1594 1578 1375 1359 1625 1782
55. 1469 1500 1516 1610 1579 1375 1344 1609 1781
56. 1453 1500 1515 1593 1593 1390 1359 1610 1781
57. 1469 1515 1516 1594 1578 1375 1359 1625 1766
58. 1469 1500 1516 1594 1579 1375 1344 1609 1781
59. 1453 1500 1515 1609 1578 1375 1360 1610 1781
60. 1469 1500 1516 1594 1593 1391 1343 1609 1766
61. 1453 1500 1516 1594 1579 1375 1360 1609 1781
62. 1453 1500 1531 1609 1578 1375 1359 1610 1781
63. 1469 1500 1531 1609 1578 1375 1344 1609 1766
64. 1453 1500 1516 1594 1578 1390 1375 1625 1781
65. 1453 1500 1500 1594 1594 1375 1344 1609 1781
66. 1469 1515 1515 1609 1578 1375 1359 1610 1766
67. 1453 1500 1516 1594 1578 1375 1344 1609 1781
68. 1468 1500 1516 1594 1578 1391 1359 1610 1782
69. 1454 1500 1515 1594 1594 1375 1344 1609 1781
70. 1468 1516 1500 1609 1578 1375 1359 1609 1765
71. 1453 1500 1515 1594 1578 1375 1344 1610 1797
72. 1469 1500 1516 1593 1578 1375 1359 1609 1782
73. 1453 1500 1516 1594 1594 1391 1360 1593 1765
74. 1469 1516 1515 1610 1578 1375 1343 1625 1797
75. 1453 1500 1516 1593 1578 1375 1360 1610 1766
76. 1469 1500 1531 1594 1578 1375 1344 1609 1781
77. 1453 1500 1516 1594 1578 1390 1359 1610 1781
78. 1453 1515 1515 1594 1594 1375 1344 1609 1766
79. 1453 1500 1500 1609 1578 1375 1359 1609 1781
80. 1453 1500 1516 1594 1578 1391 1344 1610 1781
81. 1469 1500 1516 1593 1579 1375 1359 1609 1782
82. 1453 1516 1515 1610 1593 1375 1360 1625 1765
83. 1469 1500 1516 1594 1578 1375 1343 1609 1781
84. 1453 1500 1531 1593 1579 1391 1360 1610 1782
85. 1453 1500 1516 1594 1578 1375 1343 1625 1765
86. 1469 1500 1547 1609 1593 1375 1360 1594 1782
87. 1453 1516 1515 1594 1579 1375 1344 1625 1781
88. 1453 1500 1516 1594 1578 1375 1359 1609 1765
89. 1469 1500 1516 1609 1578 1390 1359 1609 1766
90. 1468 1515 1515 1594 1578 1375 1344 1610 1781
91. 1454 1500 1578 1594 1594 1375 1359 1625 1766
92. 1453 1500 1516 1594 1578 1375 1344 1609 1781
93. 1453 1500 1516 1593 1578 1391 1360 1625 1781
94. 1469 1500 1500 1610 1594 1375 1343 1609 1781
95. 1453 1500 1515 1593 1578 1375 1360 1610 1766
96. 1484 1500 1516 1594 1578 1375 1343 1609 1781
97. 1469 1500 1515 1594 1578 1390 1360 1610 1766
98. 1469 1500 1532 1609 1594 1375 1359 1625 1781
99. 1453 1515 1515 1594 1578 1375 1344 1609 1781
100. 1453 1500 1516 1609 1578 1375 1359 1609 1782

  1. Hand-written assembly of the C source. Core slightly optimized with removed code-parts, whose absence does not affect the significant result (simulation of optimized-out code).
  2. Used parameters -m32 -m80387 -mconsole -mwin32 -O3.
  3. Minimum target subsystem version is Windows Vista, build archived for future use.

All registered and non-registered trademarks are only used for informational purposes and belong to their respective owners.