1
Mamba
Next version of PHP will be PHP 7
  • 2014/8/4 15:44

  • Mamba

  • Moderator

  • Posts: 11409

  • Since: 2004/4/23


PHP will be skipping the PHP 6 version, and move directly to PHP 7

Some of the potential Top Features for PHP 7 as posted on PHPClasses:

Quote:
Top Features for PHP 7

The whole feature set for PHP 7 is not yet defined. Some features we can already talk about because they are already being implemented. Others we can only speculate based on reasonable guesses.
1. Huge Performance Improvements

The main goal of PHPNG was to bring performance improvements that could at least match what Facebook HHVM provides.

Zeev Suraski of Zend has written an article on which he openly admits that they take HHVM as a competitor of (the Zend Engine based) PHP. This just confirms that the release of HHVM and then Facebook Hack triggered this great interest of Zend to continue to provide the leading implementation of PHP.

On that article he also demonstrates how far PHPNG branch has evolved in terms of performance improvements.

2. JIT Engine

According to Dmitry Stogov of Zend, the development of PHPNG was started with the motivation to research the implementation of a JIT engine for the Zend Engine based PHP.

A JIT engine can dynamically compile Zend opcodes into native machine code that eventually would make the code run faster next time it is run.

While the implementation of a JIT engine is not yet built-in the PHPNG branch, Dmitry mentioned in May that he "spent a significant amount of time experimenting with JIT, and even created a PoC of transparent LLVM based JIT compiler embedded into OPCache".

So it is certainly in the plans of Zend to allow bringing a JIT engine to PHP 7, as according to Zeev Suraski it can "push performance through the roof for an already ultra fast implementation".

3. AST: Abstract Syntax Tree

Recently Nikita Popov proposed the implementation of the generation of an Abstract Syntax Tree as an intermediary step for the PHP compilation process.

It is not the first time Nikita proposes the implementation of an AST compilation step. He already proposed it in 2012.

An AST would provide several advantages that he described in his proposals, including the potential for more optimizations that would make PHP run even faster.

In the latest proposal he describes the possibility to expose the AST to PHP extensions and userland applications. That could open space for more interesting tools like static code analyzers which are often useful to detect bugs or potential source level optimizations of your PHP code.

Nikita already provided a patch to implement AST support on top of the PHPNG branch.

4. Asynchronous Programming

This may not be obvious to everybody, but lately Jean Pauli, one of the maintainers of the latest PHP releases, has been commenting about refactoring PHP I/O multiplexing layer.
This seems to be a necessary step to implement an event loop. An event loop is part of the code that takes care of handling events related with I/O operations and other asynchronous tasks that may be going on in parallel, like accesses to files, network, databases, timers, etc..

In simpler terms, this would allow future PHP versions to easily implement support to the execution of parallel tasks within the same request, thus pushing PHP performance improvement potential to a totally different level.

This is something that I commented in the past several times. One of the latest times was in the article about the improvements of Facebook Hack.

Of course, you do not get automatic performance improvements just by enabling the support for asynchronous programming. New PHP code needs to be written to take advantage of the asynchronous programming potential.

Despite the initial effort of Jean Pauli, it does not mean that asynchronous programming built-in support will be enabled in PHP 7.

However, since Facebook Hack already provides asynchronous programming support in a very elegant way, I would not be surprised if PHP core developers moved faster to make asynchronous programming in PHP available sooner rather than later.

5. Standalone Multi-threading Web Server

This is something that does not seem to be in the plans for PHP 7 but it is something that would make PHP more scalable.

PHP can already be run from multi-threaded Web servers like ngynx, lighttpd or even Apache in worker mode, however that is not the same as having PHP run on its own multi-threading Web server.

A multi-threading Web server can handle many simultaneous requests using a single memory pool, thus avoiding the memory waste that happens when you run PHP as FastCGI or in Apache pre-fork mode.

It would also allow PHP use a single pool of database connections, thus minimizing the number of simultaneous database connections opened during access peaks.

HHVM can already be run as a standalone multi-threading Web server since the days when the project was called HipHop PHP compiler.

This allowed Facebook to reduce bit of server machines needed to handle the high load of accesses that they have.

Despite running PHP as a standalone multi-threading Web server is not yet in the plans for PHP 7, it is certainly something good to have, at least for PHP 8.

When will be the PHP 7 Release Date?

It is too early to have a good estimate of the release date of PHP 7. Different people estimate it will take between 1 to 3 years. A reasonable guess is to expect a final PHP 7 release some time in 2016, although it is not impossible to see early alpha versions still in 2015.

So, for now you can count with at least 1 year of waiting until can start trying PHP 7.


All of this looks definitely very promising!!! It's good to know that XOOPS is built on a platform with a very solid future!
Support XOOPS => DONATE
Use 2.5.11 | Docs | Modules | Bugs

Login

Who's Online

324 user(s) are online (194 user(s) are browsing Support Forums)


Members: 0


Guests: 324


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Nov 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits