Performance Testing Plugin Mid-Term Status

1 view
Skip to first unread message

Jacob Santos

unread,
Jul 10, 2008, 1:33:41 AM7/10/08
to WordPress Summer of Code 2008
The Performance Testing Plugin is a web based cachegrind file viewer.
It processes the cachegrind files and displays brief statistics on
functions which should be looked at closer for performance related
issues. The plugin is for both WordPress testers and plugin developers
and testers. The goal is to give an indication on what areas of code
are not performing fast enough, are being called a lot (might want to
look at optimizing most used functions first before looking at
functions which can't be fixed).

The plugin is completed as in it is functional and can be used. I
decided to write my own code instead of using Webgrind library for the
lexer and parser, seemed like a good idea. I worked a great deal on
the lexer and parser for the cachegrind files, and while I can't get
the speed faster enough for larger files, I think it is fine at the
moment. It is very memory efficient at the moment which is good, since
it should be able to handle almost any file, as long as it doesn't
time out.

The rest of the details will have to be worked out over time as to
what statistics are better to be displayed for the testers and
developers. I do see myself using this plugin a lot in the coming
months after the Google Summer of Code is complete, so I do see myself
refining the plugin and improving it with better details that matter
the most with better functionality.

There are parts of the code I do like, the point that half the code
has inline documentation and is somewhat clean before you get into the
cachegrind process code. There still needs to be more inline
documentation and there also needs to be test cases for several parts
of the code. Those two items will come later as they are lower of a
priority at this point.

The plugin can be found at: http://www.santosj.name/performance.zip

After the major issues with the plugin are fixed, I'll begin work on
converting the WordPress library to a PHP extension. My project
consists of two parts, the Performance Testing Plugin and the
WordPress PHP extension. The latter of which will commence next week,
while I put the finishing touches on the plugin.

Mahmoud Al-Qudsi

unread,
Jul 10, 2008, 4:37:27 PM7/10/08
to wordpress...@googlegroups.com

Great work, Jacob. 

I'm impressed by the memory usage, it's now very efficient.... Looking foward to the C++ extension; I'm going to be testing your plugin some more soon; but what I've seen so far looks great.

--
Mahmoud Al-Qudsi
Director,
NeoSmart Technologies

Jacob Santos

unread,
Jul 10, 2008, 8:48:43 PM7/10/08
to WordPress Summer of Code 2008
Well, it still has issues with timing out, but I think that if I
created a PHP extension for parsing cachegrind files, it might save
from that issue. If I'm going to write one, why not write two?
However, I do think that it will be worth looking at the performance
issues within the plugin and see where the time is spending and see if
I can optimize the code more. I suppose it would be interesting to use
the plugin to test the performance of the plugin.

What is interesting about it timing out is that it 1) doesn't delete
the file, so that the user can process the file again, which is bad
because it throws off the statistics and 2) most of the contents of
the file are still parsed, so some of the file is being inserted into
the database, but not everything is. This is quite an annoying bug and
is very high on my list of priorities.

I'll work some more on the plugin and probably release version 0.4.1
this Saturday. I also forgot about localization, well not really, but
localization isn't high on my list of priorities. So the remaining
components are inline documentation, the timeout issue, and
localization. I would work on the unit tests, but I think these three
items should be enough of a hassle to work on. Well, localization is
easy and should be pretty straightforward, inline documentation is
just time consuming, and the timeout will probably take the most time
and energy. It might also turn out that the code is as optimized as it
can get, which would be horrid.

On Jul 10, 3:37 pm, "Mahmoud Al-Qudsi" <computerg...@neosmart.net>
wrote:
> Great work, Jacob.
>
> I'm impressed by the memory usage, it's now very efficient.... Looking
> foward to the C++ extension; I'm going to be testing your plugin some more
> soon; but what I've seen so far looks great.
>
Reply all
Reply to author
Forward
0 new messages