The new stuff happening in the PHP space is really really awesome.<p>HHVM + HACK + XHP is an entirely different experience compared to writing PHP. Code can actually be very clean and lots of bugs can be found that may have previously gone unnoticed + performance benefits.<p>Just wanted to say FB is doing an exceptional job with these projects.
Calling setlocale because the user you're currently processing has a different locale? What the..?<p>Notice: what works in UNIX utilities is not what works for web apps serving many users simultaneously. In fact, I'm pretty sure this doesn't work for UNIX utilities either and is just something you should never touch with your libc. It's like calling non-reentrant strtok, some of this stuff just doesn't exactly fit into todays world.
The good news about hhvm is that with the newest builds from the past few months you can finally run it longer than a week without memory leaks and crashing under high loads.<p>If you look at the changelog, you can see it really is a beta product that people use in production anyway<p><a href="https://raw.githubusercontent.com/facebook/hhvm/master/NEWS" rel="nofollow">https://raw.githubusercontent.com/facebook/hhvm/master/NEWS</a><p><i>"Ditko" 26-Feb-2015</i> finally solved me having to restart it every several days<p>I'm very eager to compare PHP7 in production
Shameless self promotion: I wrote hussar[0], a tool that uses HHVM for PHP static analysis in projects that can't run HHVM directly. Etsy says "getting [their] code to run on HHVM was relatively easy", but my experience has been the opposite. Previous discussion on HN here: <a href="https://news.ycombinator.com/item?id=9071854" rel="nofollow">https://news.ycombinator.com/item?id=9071854</a><p>[0]: <a href="https://github.com/wayfair/hussar" rel="nofollow">https://github.com/wayfair/hussar</a>
This is a great write up. I have been skeptical of converting to HHVM for a while because of a bad experience I had several years ago. I've been following the HHVM project off and on for a while now, but it really sounds like it may be ready for some smaller projects who don't have the resources of an Etsy to try it out.
bespoke endpoints sound like a good compromise, but I wonder why they stick with php for the general apis that the bespoke endpoints consume? Wouldn't they get better scalability if they moved that backend logic to something like Play, which would give you NIO on a jvm?<p>EDIT: Removed mention of "shared-nothing", which I misunderstood.
I guess the question I've been having is that if I want to begin a new project with performance as a main priority, should I use HHVM+PHP or HHVM+Hack over something like Java or Go, or is it more for making existing PHP codebases more performant.
This is great. After being one of the early contributors to documentation and clearing up the (admittedly ridiculous) on-ramping guides for what was then HipHopPHP, I'm really happy to see it get more traction. I deploy it in production for a webapp that is more or less simple CRUD on the outside but does some relatively expensive scheduled batch processing of number crunching. The differences are huge and allow me to keep it to a single - albeit big - dedicated machine.<p>It's come a long way and I'm excited to see further improvements.
Is a comprehensive test suite for PHP a byproduct if this?<p>Last time I checked PHPs own tests only had about 30% coverage, and with a famously idiosyncratic language like PHP, which apparently needs a massive internal overhaul to increase speed, that seems less than optimal.<p>I thought the test suite was one of the best things to come our of multiple ruby implementations, though I read recently that core Ruby ignore it and so regularly introduce bugs that it would catch.
There's a talk Dan gave on this same topic at PHP UK 2015 that's worth watching.<p><a href="https://www.youtube.com/watch?v=75j1RRxxARI" rel="nofollow">https://www.youtube.com/watch?v=75j1RRxxARI</a>
Be aware that while HHVM is more or less compatible with PHP now, there is no guarantee it will be in the future,and Hack is definitely not backward compatible with PHP. Not even talking about PHP C extensions.
I would love to move onto HHVM and since mostly run own PHP code 3rd party code compatibility is not a problem, BUT unfortunately the editor I use (PHP Storm) doesn't yet support HHVM :(<p>what editors do people that are using HHVM use?