In this weeks episode we have good friend of the show Joe Watkins back on to discuss the recent developments in PHP.
We start off by highlighting how code is currently compiled and executed using the Zend VM, and distill how the recently approved JIT (for PHP 8) will change this.
From here we mention the reasoning for going down this path now, the difference between I/O vs CPU bound code, and the use-cases where the JIT will improve performance.
This leads us to the PHP compiler project Anthony Ferrara is working on (with the goal of Ahead-of-Time PHP compilation), and the new parallel concurrency API Joe is working on which uses a model similar to Goroutines.
Finally, we discuss his recently approved Weak References and Abolish Narrow Margins RFC’s.
Show Links
Musings, ninja ones - PHP GR8PHP RFC - JITnikic/php-ast - Extension exposing PHP 7 abstract syntax treeircmaxell/php-ast-visualizer - An AST visualizer, for PHPPHPNGPHP OPcacheircmaxell/php-compiler - A compiler. For PHPircmaxell/php-compiler-toolkit - A compiler toolkit. For PHPircmaxell/FFIMe - A FFI Wrapper library and header parser!Anthony Ferrara - High Performance PHP - YouTubeMusings, ninja ones - Parallel PHP - The Next Chapterkrakjoe/parallel - A succinct parallel concurrency API for PHP7Joe Watkins on Twitter - “parallel+jit+php-nes-emulator = 80’s fun at full speed”PHP RFC - Weak ReferencesPHP RFC - Abolish Narrow Margins