acorea

random thoughts and little goodies

Donnerstag, Juli 17, 2008

profiling with xdebug and KCacheGrind

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: , , ,