[Development] Switch of MinGW toolchain for Qt 5.1
Kai.Koehne at digia.com
Thu Apr 4 11:38:36 CEST 2013
I'd like to update the recommended 32 bit MinGW toolchain (that we also ship in binary installers) for 5.1 from
The recommended 64 bit toolchain would change accordingly from
Since this is a major upgrade, I'd like to invite anyone interested to give the combination a try early on, preferably before we release 5.1.0 :) The upgrade would however mean that all users would have to re-compile their apps (mixing the old and new toolchain is not supported).
It turned out that the SJLJ exception model of the existing toolchain has a severe performance penalty for any Qt app, see e.g.
With gcc 4.8.0 64 bit there's now SEH, which I understood is superior to SJLJ in any way. For 32 bit there's dwarf, which has problems when it comes to throwing exceptions to 'alien' stack frames (think of windows callbacks). There are also issues when using LoadLibrary without FreeLibrary, or mixing static and dynamic libgcc_s_dw2 linkage. Anyhow, I think these issues do not outweigh the heavy performance penalty for SJLJ.
Apart from SEH exception handling this gcc 4.8 brings lots of general improvements. If we still however find blockers with gcc 4.8.0 an alternative would be to go for 4.7.2 / 4.7.3, but still switch the exception model to dwarf for 32 bit.
More information about the Development