Phoronix Test Suite To Use PHP5-CLI
As the Phoronix Test Suite 0.0.1 release will be out any day now, I just want to let you guys know its dependency. The core of the Phoronix Test Suite started out being written mostly in C, but the decision was made to move it all over to PHP.
Why PHP? While PHP is mostly known for its web usage, PHP can run on the desktop from the CLI and there is even a GTK module for PHP. PHP actually works out quite nicely on the desktop, if you've never tried it out. What's nice about this route though is the ease of installation. The Phoronix Test Suite is all about being easy to use and being able to accurately reproduce the results. To run the PTS, you just need to install php5-cli (or whatever the package may be named in your distro repository) and you'll be set. The PHP5 CLI package usually just depends upon a PHP5 common package and that's about it.
The GD and GTK PHP libraries are optionally used by PTS, but not required. That's far less then if PTS were written in say Python with GTK where python-gtk-dev has many more dependencies and the same for other languages.
PHP5-CLI is also small and portable enough where a binary could ship with the Phoronix Test Suite accompanied by the GD (for graph rendering) and GTK (for GUI rendering).
In addition, I already have quite a bit of code that may come in handy for the Phoronix Test Suite from other projects already written in PHP. I've already done some performance profiling, etc and php5-cli is working out well and is suitable for use with this benchmarking utility. As another benefit, the learning curve for PHP can be low and there's plenty of documentation on PHP available (http://www.php.net/) so it will be easier for more to contribute.
Aside from the heart of the Phoronix Test Suite, all of the test suites and test profiles continue to be written in XML and the related-benchmarking resources (pre-run, post-run, and install tasks) can be written in either PHP or shell scripts.
I just wanted to let you all know right now why it's being written in PHP now. I've discussed this with others as well and they agree. If you have any comments or concerns, feel free to share them.