PHP keepers plot radical revision of the language
Future versions of PHP may be compiled, thanks to the influence of Facebook engineers
IDG News Service - Inspired by Facebook's efforts to speed performance of PHP, the core development team behind the popular open-source Web programming language has embarked on an effort to redesign PHP for faster performance.
Earlier this month, PHP core developer Dmitry Stogov started a new branch of the language called phpng (PHP Next Generation), according to a blog item posted on the PHP.net site Wednesday.
The idea behind the new version of the language is to reorganize the internal APIs (application programming interfaces) so PHP code could benefit from being used in a just-in-time (JIT) compiler.
The new phpng branch "does not include JIT capabilities, but rather seeks to solve those problems that prohibit the current, and any future implementation of a JIT capable executor achieving optimal performance by improving memory usage and cleaning up some core API's," the PHP blog post stated.
Today, PHP is an interpreted language, meaning that the source code is executed by the processor directly. Generally speaking, programs written in interpreted languages such as PHP tend not to run as quickly as languages, such as C or C++, that have been compiled beforehand into machine language byte code, which is more efficient for the processor to execute.
Last year, Facebook, which has always been a large user of PHP, released a JIT compiler for PHP code, called the HHVM (Hip Hop Virtual Machine). HHVM proved instrumental in sparking the PHP community's interest in JIT.
Similar to the Java Virtual Machine (JVM), the HHVM compiles the language into byte code when it is requested by the user. Facebook found that HHVM could speed code execution times by as much as nine times. The company released the source code of HHVM in hopes that it would be used outside of Facebook, and perhaps even influence the future development of PHP itself.
Stogov, who works as chief performance engineer at PHP software provider Zend, noted that changes already made in phpng have resulted in a 20 percent increase in the number of requests handled by WordPress, the popular blogging platform that is built on PHP.
With phpng, "the door may well now be open for a JIT capable compiler that can perform as we expect, but it's necessary to say that these changes stand strong on their own, without requiring a JIT capable compiler in the future to validate them," the blog post stated.
While not yet suited for production work, phpng, when finished, could form the foundation of PHP 6 or PHP 7. Today, PHP 5.5 is the current working version.
The core developers are promising that this future iteration of the language will be backward compatible, meaning that code written for earlier versions of the language will run unmodified on this version as well.
- HTTP Status Code Cheat Sheet Look at the Graph, Find the Code and Boom - You're Solving Problems. Identifying and understanding common HTTP status codes can go a...
- 10 Steps to Application and Network Performance Nirvana 10 simple steps that network operations teams can take to ensure that applications and underlying infrastructure can both be tuned for maximum performance.
- Application Performance Management for Dummies Application performance management helps deliver the application performance users and the business demand. Effectively monitoring and troubleshooting application performance issues requires a comprehensive...
- IDC Report: Optimize IT and Business Gains This IDC Whitepaper outlines how CIOs can understand what the "total cost of data" is across their entire organization and how Delphix can...
- Business-driven data protection Setting up data protection infrastructures with your organizations' core mission or business in mind is key. In this webinar, the ARCserve team will...
- On-Demand Webinar: Mind the Gap! Watch the webinar featuring Bob Janssen, CTO and Co-Founder of RES Software, to start building a solid foundation for business and IT to... All App Development White Papers | Webcasts