Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

PHP Developer? Dance Like You've Never Danced Before

DZone's Guide to

PHP Developer? Dance Like You've Never Danced Before

· Web Dev Zone ·
Free Resource

Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.

Because you need to try the tech that Facebook released last year: HipHop for PHP.

Why Should You Need It?
PHP is slow (relatively to Java, .Net/C# and of course to compiled code like C/C++) since it based on interpreter. Faster means more actions using fewer CPU cycles. Fewer CPU cycles mean less servers, less CO2 emission and some say most importantly: more money in the bank.
 
What Could You Do So Far?
There are several PHP accelerators in the market like Alternative PHP Cache (APC), eAccelerator and Zend Optimizer+ . These accelerators optimizes PHP intermediate code, caches data and compiled code from the PHP bytecode compiler (very similar to turning C# into MSIL or JVM into bytecode). 
 
So What are the News?
There was still a major performance gap between native (unmanaged code) and bytecode. This gap is closed by this new Facebook technology: HipHop transforms the bytecode into native code and gains major performance boost (see the attached image from Facebook Blog).

Last words
Y ou may think that this can be useful only to a large site like Facebook with its 350M users. However, every site with dozens of servers will get major benefits by using this technology: performance bottlenecks reduction, and slashing the number of servers (ya again: money in the bank, CO2 emission and operator time...)

Keep Performing,
Moshe Kaplan

Monitor application stability with Bugsnag to decide if your engineering team should be building new features on your roadmap or fixing bugs to stabilize your application.Try it free.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}