React, etc. Tech Stack

React, Flux, GraphQL, Hack, HHVM...? All of this and more!

PHP 8.0 Release Date and the status of JIT in PHP

PHP remains the most popular server side language for creating websites. At an estimated 80% market share, the twentysomething programming language is everywhere. PHP has evolved, and the next major legs are PHP 8.0.0 and the JIT (Just in time) compilation. Let's take a look at these.

The last major release of PHP was 7.0.0. This release was a major milestone with significantly improved performance and lower memory usage. Since 7.0 there have been two releases adding features and adding features: 7.1 in 2016 and 7.2 in 2017

But as with semantic versioning states, there can be no breaking changes in major versions with the semantic versioning patch (major.minor.patch). The next minor version, PHP 7.3, is scheduled for release in late 2018.

The release of PHP 8.0 is not yet scheduled, but as it is a major leap it will take some years. From now there is no details of the features either, but the schedule is estimated to be years away. Some speculation sets the release of PHP 8.0.0 to be in September 2021:

State of Just In Time (JIT) in PHP

Just in time compilation is a way of optimising running code. It is a popular method used by the Java Virtual Machine (JVM) as well as the popular V8 JavaScript VM from Google. While both of these use JIT, it is no silver bullet.

Initially the PHP development before the current evolution (PHP 7.x) focused on improving PHP performance using a JIT. This effort yielded substancial improvements in benchmarks, but proved to provide little improvements in real world applications like WordPress or Joomla.

After the work was done for PHP 7.0 and providing significant improvements in it, the improvements in performance in versions 7.1 and 7.2 have been rather modest. This is why the team has been working on the JIT implementation again. There are some encouraging results, but as of now there is no deep analysis on the JIT PHP project.

As PHP is open source software, developers are free to download and compile the source code. However, many people shun the prospect of compiling software themselves. Luckily, there is a Docker image available that allows developers to try out the latest PHP JIT builds easily:

This code is a helper to try out the php with experimental jit support. It was written as a pet project inspired by the tweet that states 54% performance improvement.
- PHP Docker image with experimental JIT support

Both JIT and 8.0.0 loom in the future of PHP, but they are both significant features that remain in the future. And especially for JIT, the short living processes of PHP are not ideal for JIT implementation - this is compared to continuously running processes like with Node.js or Java.

Written by Jorgé on Monday January 8, 2018

Permalink -

« Nest TypeScript framework for Node.js gets GraphQL support - NEOS CMS with React.js UI »