[Qt-creator] Minimizing compile-time conditionals in Qt Creator
André Pönitz
andre.poenitz at mathematik.tu-chemnitz.de
Tue Aug 28 20:17:09 CEST 2012
On Tue, Aug 28, 2012 at 12:52:30PM -0400, Stephen Chu wrote:
> On 8/28/12 8:50 AM, Christian Kandeler wrote:
> > On 28/08/12 14:19, ext Stephen Chu wrote:
> >> On 8/28/12 3:56 AM, Christian Kandeler wrote:
> >>> QStringList rc(QLatin1String(".svn"));
> >>> if (Utils::HostOsInfo::isWindowsHost())
> >>> rc.push_back(QLatin1String("_svn"));
> >>> return rc;
> >>
> >> Doesn't this generate dead code that will never be executed on platforms
> >> other than the intended one?
> >
> > Yes (with C++03 at least). And if you can provide an example where it
> > demonstrably matters, we can switch back to ifdefs for that particular
> > piece of code.
>
> It's not just dead code. It's also the calling of the conditional
> function and the testing of it. These are all runtime cost that can and
> should be avoided.
>
> Something like this in some frequently called function (string?) can
> impact the performance negatively.
struct Foo
{
bool stuff() const { return false; }
};
int main()
{
Foo f;
return f.stuff() ? 21 : 42;
}
happily translates to
main:
movl $42, %eax
ret
with g++ -O2.
No danger for cycles and fluffy animals.
Andre'
More information about the Qt-creator
mailing list