[Interest] How to speed-up chameleons

Romain Beaumont romain.rom1 at gmail.com
Wed Jun 11 17:12:21 CEST 2014


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/18692db6/attachment.html>


More information about the Interest mailing list