There is an ongoing discussion among key contributors to the PHP language on the PHP internals mailing list about embarking on a new language project to simplify PHP maintenance.
My Microformats2 parser passed all the tests a short while ago. After that milestone, I was wondering if it’s fast. That needs some context because fast compared to what? All the other Microformats2 parsers. Have they been measured? The answer to that one is: not before now as far as I can tell.
I took a little time to make mf2bench, a benchmarking tool that compares the performance of all (is it all?) the Microformats2 parsers out there. My work on the php-extension, mf2, came in second place in terms of speed, behind the Microformats2-parser for Go. I’m pretty happy with this, because I have been concentrated on coding to pass tests, to demonstrate that the parser meets the living specifications at microformats.org. Making it run fast, or as fast as is fun to make it, is still a little bit away.
I’ll next get mf2bench to provide some measure of what the parse from each parser is for the various samples. That will be neat.
========== UPDATE ==========
The above screenshot uses the default of three (3) parses per parser. It was captured for the sake of taking a picture, rather than of comparison between parsers, etc. Here is the same thing, with one hundred (100) parses per parser.
Versions of each parser tested:
|php/php-mf2 (w/ Masterminds\HTML5)||0.4.6 (2.5.0)|
My Microformats parser now has fifteen (15) passing tests, parses rels & rel-urls from the web, from local disk (via URI), and from code string.
PHP traits are convenient when transcending library boundaries with stable, core code. They are available since version 5.4. For discussion.