Hi Kevron,
I see that there is still 8-9% CPU usage in performance test(https://bugs.tizen.org/jira/browse/TIVI-2623).
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.

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).


Sent from my mobile