![]()  | 
Home | Libraries | People | FAQ | More | 
After a good choice of build settings the next most important thing you can do, is choose your compiler - and the standard C library it sits on top of - very carefully. GCC-3.x in particular has been found to be particularly bad at inlining code, and performing the kinds of high level transformations that good C++ performance demands (thankfully GCC-4.x is somewhat better in this respect).
Table 14.2. Performance Comparison of Various Windows Compilers
| 
               Function  | 
               Intel C++ 10.0 ( /Ox /Qipo /QxN )  | 
               Microsoft Visual C++ 8.0 ( /Ox /arch:SSE2 )  | 
               Cygwin G++ 3.4 ( /O3 )  | 
|---|---|---|---|
| 
               
 1.00 
 (4.118e-008s) 
  | 
               
 1.00 
 (1.483e-007s) 
  | 
               
 3.24 
 (1.336e-007s) 
  | 
|
| 
               
 1.00 
 (4.439e-008s) 
  | 
               
 1.00 
 (4.888e-007s) 
  | 
               
 7.88 
 (3.500e-007s) 
  | 
|
| 
               
 1.00 
 (1.631e-006s) 
  | 
               
 1.14 
 (1.852e-006s) 
  | 
               
 3.05 
 (4.975e-006s) 
  | 
|
| 
               ibeta_inv and ibetac_inv  | 
               
 1.00 
 (6.133e-006s) 
  | 
               
 1.19 
 (7.311e-006s) 
  | 
               
 2.60 
 (1.597e-005s) 
  | 
| 
               
 1.00 
 (2.453e-005s) 
  | 
               
 1.16 
 (2.847e-005s) 
  | 
               
 2.83 
 (6.947e-005s) 
  | 
|
| 
               
 1.00 
 (6.735e-007s) 
  | 
               
 1.41 
 (9.504e-007s) 
  | 
               
 2.78 
 (1.872e-006s) 
  | 
|
| 
               
 1.00 
 (2.637e-006s) 
  | 
               
 1.38 
 (3.631e-006s) 
  | 
               
 3.31 
 (8.736e-006s) 
  | 
|
| 
               
 1.00 
 (7.716e-006s) 
  | 
               
 1.29 
 (9.982e-006s) 
  | 
               
 2.56 
 (1.974e-005s) 
  |