> > 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@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest