Monday, April 07

Geek

Time Trials

I've been doing some benchmarking of Minx 1.2a5 (the latest alpha) against 1.1.1 (the current live version) before I commit to code-freeze and a very short beta.  After a little tweaking, the scores look like this:
374kb generated in CPU 0.4, elapsed 0.4216 seconds.
113 queries taking 0.1052 seconds, 645 records returned.
Powered by Minx 1.2a5.
374kb generated in CPU 0.4, elapsed 0.4102 seconds.
110 queries taking 0.0707 seconds, 633 records returned.
Powered by Minx 1.1.1-aoi.
I was getting very worried an hour ago because the times for the 1.2 code were coming out 60% slower than 1.  That would have sent me back to do a couple more weeks of profiling and performance tweaks.

Then I remembered that I'd turned off the JIT compiler to do a code coverage analysis.  Turned that back on, and got the results you see here.

We've lost about 11 milliseconds overall in this benchmark, of which
35 ms went to database queries.  Which means that excluding database queries, it's actually faster.

On the database side of things, well, I'm now pulling in one or two additional joins on the most common queries to provide the necessary data for cross-site and multi-site functionality and the expanded comment (and related item) listings.  The query time shown in the stats includes not just the database time, but also the processing of the data into native structures on the application side.  That accounts for about a 25% increase in query processing time; where the other 25% went I'm not quite sure yet.

But the bottom line is that despite a whole raft of new features, Minx 1.2 is within a couple of percent of the speed of 1.1.  And if I can just find one more performance tweak...

Posted by: Pixy Misa at 05:04 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 290 words, total size 2 kb.

Comments are disabled. Post is locked.
45kb generated in CPU 0.0119, elapsed 0.1812 seconds.
54 queries taking 0.1729 seconds, 325 records returned.
Powered by Minx 1.1.6c-pink.