WAMPServer is the tool that I use to develop websites locally.  It is made up of three distinct technologies – Apache, MySQL, and PHP.

I recently upgraded from WAMP 2.4 (Apache 2.4.4, MySQL 5.6.12, PHP 5.4.12) to WAMP 2.5 (Apache 2.4.9, MySQL 5.6.17, PHP 5.5.12).  At the time, I was developing an application with an AJAX call that took approximately five seconds to complete the response.  When the upgrade was completed, that time more than doubled!

It was unclear exactly what the problem was.  Was it one of the technologies that WAMP just upgraded?  Or was it WordPress that did not like one of the WAMP tech versions?  I was able to isolate MySQL away from the other techs and learn that MySQL was not the culprit.  Unfortunately, isolating Apache and PHP because a nightmare and I abandoned it.

Next, I wrote some benchmark tests calling between the WP database interface (wpdb) and the PHP database interface (mysqli).  Here is what I learned from a test that performed a specific database 1000 times:

WAMP 2.4 1000-Repeat Test

mysqli query duration = 2.7602670192719
wpdb query duration = 7.9789590835571
mysqli fetch duration = 2.6989250183105
wpdb fetch duration = 9.7622108459473

WAMP 2.5 1000-Repeat Test

mysqli query duration = 2.7260448932648
wpdb query duration = 11.537438154221
mysqli fetch duration = 2.739520072937
wpdb fetch duration = 13.555140972137

Looking into WP, it looks like the wpdb code takes a slightly different path when using PHP >= 5.5.  It uses mysqli over mysql calls.

I’ve yet to gone further, but the above tests do seem to indicate that WP is performing additional operations on various wpdb calls that are not normally called with direct mysqli calls.