[Interest] How to speed-up chameleons
igor.mironchik at gmail.com
igor.mironchik at gmail.com
Wed Jun 11 18:51:37 CEST 2014
Hi.
What do you suggest?
From: Romain Beaumont
Sent: Wednesday, June 11, 2014 5:12 PM
To: Keith Gardner
Cc: igor.mironchik at gmail.com ; interest at qt-project.org
Subject: Re: [Interest] How to speed-up chameleons
Hi,
Why do you need to use Qt signals/slots ?
Isn't there something more appropriate to this task ?
2014-06-11 15:36 GMT+02:00 Keith Gardner <kreios4004 at gmail.com>:
I have one question to you. Why new syntax of QObject::connect() improve performance for a 5%.
I mean that if in code change
connect( sender, SIGNAL( signal() ), receiver, SLOT( slot() ) );
to
connect( sender, &Sender::signal, receiver, &Receiver::slot );
then code works faster... Why? May be somebody know the answer, I don’t want to read Qt’s code for the answer on this question.
I would guess would be that the first connect is performing a string lookup and validating the arguments at run time. SIGNAL and SLOT are taking the macro parameters and turning them into character arrays.
The second connect is working with function pointers which allows for the compiler validate their existence and ensure that the arguments are compatible at compile time instead of run time.
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140611/f728b512/attachment.html>
More information about the Interest
mailing list