Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Comparing Compilers

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 40. 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 )

erf

1.00

(4.118e-008s)

1.50

(6.173e-008s)

3.24

(1.336e-007s)

erf_inv

1.00

(4.439e-008s)

1.42

(6.302e-008s)

7.88

(3.500e-007s)

ibeta and ibetac

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)

ibeta_inva, ibetac_inva, ibeta_invb and ibetac_invb

1.00

(2.453e-005s)

1.16

(2.847e-005s)

2.83

(6.947e-005s)

gamma_p and gamma_q

1.00

(6.735e-007s)

1.41

(9.504e-007s)

2.78

(1.872e-006s)

gamma_p_inv and gamma_q_inv

1.00

(2.637e-006s)

1.38

(3.631e-006s)

3.31

(8.736e-006s)

gamma_p_inva and gamma_q_inva

1.00

(7.716e-006s)

1.29

(9.982e-006s)

2.56

(1.974e-005s)



PrevUpHomeNext