One of my last tasks was to rewrite the functions for searching for contacts in the Addressbook application. At one point, I wondered why it took so long to fetch some contacts from the database and display them in the addressbook.
To analyze the control flow of the searchContacts() function, I used
xdebug to create a profiling log and
KCacheGrind to visualize the the function calls, the execution time and the control flow of tine 2.0.
After I got accustomed to this kind of visualisation, I quickly found the function that was responsible for the long execution times and was able to improve it and make it faster.
We plan to implement caching of data in
the next milestone to improve the performance even more.
If you want to know more about profiling with xdebug read
this article.
Labels: php, profiling, tine20, xdebug