Just came to my mind: I have a very good experience with Intel VTune ;-)
It was on Windows, but it's available also for Linux.
https://software.intel.com/en-us/intel-vtune-amplifier-xe
It's able to to show CPU usage per function.
Marek
On Tue, Jun 10, 2014 at 12:47 AM, marek.timko1(a)gmail.com
<marek.timko1(a)gmail.com> wrote:
Hi Kevron,
I see that there is still 8-9% CPU usage in performance
test(https://bugs.tizen.org/jira/browse/TIVI-2623).
I haven't pushed some of the more impactful changes to tizen yet. So
the most recent test doesn't include those (0.11.809 vs 810).
I suggest to use valgrind with callgrind plugin(--tool=callgrind).
QtCreator has a nice support plugin for valgrind.
You can find tho most often called methods(and time consumption) and
improove the most critical then.
Agreed. I do use that tool in QtCreator. It's very nice. There's a
lot of data to sift through. So far I've only been addressing the
biggest pigs I can find, which are typically related to DBus usage.
But as that becomes less of an issue, I'll have to use the tools to
find smaller "pigs".
And I still think that you should replace all method calls with
arguments
passed by value with arguments passed by (const) reference. At least those
under lib folder - it affect all plugins and can be called very often.
For example AbstractRoutingEngine::setProperty(AsyncSetPropertyRequest
request) is called for every signal change, If I remember correctly.
It also should reduce CPU usage. ( Imagine std::string -> there is always
at
least one malloc, one memcopy and one free call for each method call
with
arguments passed by value for each std::string argument).
Agreed. Passing by const ref makes sense.
Marek.
Sent from my mobile
_______________________________________________
AMB mailing list
AMB(a)lists.01.org
https://lists.01.org/mailman/listinfo/amb