I am working on Linux, (32 bit fedora), My processor is AMD, I need to get the profiling data for qt project which i will be using for ARM 9 (I have arm cross compiler/arm tool chain , 32 bit), anything specific for me?
I am working on Linux, (32 bit fedora), My processor is AMD, I need to get the profiling data for qt project which i will be using for ARM 9 (I have arm cross compiler/arm tool chain , 32 bit), anything specific for me?
Try valgrind or oprofile etc.
If you're really adventurous, systemtap.
These tools all come with a high learning curve though.
The Qt documentation says the following to the run time difference between callbacks and signal/slots:
"Compared to callbacks, signals and slots are slightly slower because of the increased flexibility they provide, although the difference for real applications is insignificant. In general, emitting a signal that is connected to some slots, is approximately ten times slower than calling the receivers directly, with non-virtual function calls. This is the overhead required to locate the connection object, to safely iterate over all connections (i.e. checking that subsequent receivers have not been destroyed during the emission), and to marshall any parameters in a generic fashion. While ten non-virtual function calls may sound like a lot, it's much less overhead than any new or delete operation, for example. As soon as you perform a string, vector or list operation that behind the scene requires new or delete, the signals and slots overhead is only responsible for a very small proportion of the complete function call costs.
The same is true whenever you do a system call in a slot; or indirectly call more than ten functions. On an i586-500, you can emit around 2,000,000 signals per second connected to one receiver, or around 1,200,000 per second connected to two receivers. The simplicity and flexibility of the signals and slots mechanism is well worth the overhead, which your users won't even notice."
http://doc.qt.nokia.com/4.6/signalsandslots.html
Thanks all of you, i will try to do profiling.
gprof is working fine with qt projects, but the project where there are external libraries (for sensors which are connected to the board) included in the project there gmon.out is not getting created (Those libraries are compatible for arm, and i have arm tool chain, have arm-linux-gprof installed), in the project file i have included the lines
CONFIG += DEBUG
QMAKE_CXXFLAGS_DEBUG += -pg
QMAKE_LFLAGS_DEBUG += -pg
why gmon.out is not getting created..? are there anything extra i need to do?
Bookmarks