First of all, hi. I recently joined the team as you could probably see from my plethora of commits to github. I first fixed up closures a bit and moved our “PHP tests in C++” to have one fewer language. I’ll be doing many exciting things for hiphop but I’ll be mostly caring about making it incredibly easy for anyone to use for any PHP code. So please bug me if it doesn’t run your favorite piece of code.

As you can see from our graphs, lots of code has been flowing lately. The first major thing, is we deleted almost all of HPHPc. It has been fully replaced by HHVM. We no longer do source level transforms to C++, instead the backend is now a just-in-time compiled virtual machine. It is faster, allows for iterative development, and opens us up for many optimizations in the future. If there is leftover dead code, please send in pull requests.

The was also a major addition in the graphs. We imported almost all of php.net’s tests. 8446 in total. We want to keep an eye on how we compare, and we’ll work hard over the next few months to move more from bad to good. We aren’t trying for parity on error messages but we are striving to be able to run all major PHP software. If you fix a compatibility issue, please move the test from bad to good.

As you can see, we have over 300 issues on github. We’ve been keeping abreast of the current issues and pull requests, but we just haven’t gotten into our backlog. Many of them are for HPHPc, and many others don’t have good repro cases. To help us not end up in broken window syndrome, we’re going to be closing all bugs older than 2 months. If yours is still an issue, please re-open it, and in order of goodness:

  1. Give detailed repro steps

  2. Write a test case in hphp/tests/quick (run it with hphp/tests/run) and send the pull request

  3. Fix it in a pull request

On that note, I’d like to chat briefly about pull requests. For hiphop to accept your code, you must fill out the CLA. It is super quick and you only have to fill it out once for all our open source projects. Also, we don’t directly merge in your code. We copy it into our internal code review tool, do a ton of perf and unit testing, and then it will appear as a commit authored by you after that. It is just much easier and safer for us to run all our internal testing on it before merging it in.

Thanks for listening. I hope this helps keep issues that are current at the front of our minds as we improve hiphop. Please keep sending issues and pull requests as much as possible.

Comments


  • Joseff B: Hi I'm wondering if Mongo DB is supported now since you closed all the Mongo DB tickets.
  • Rocky Sharma: URL-Rewriting at some point is ache !