Skip to content

Deprecate JIT now #22777

Description

@jobs-git

Overview

  • JIT development in python has been put on hold
  • Math calculation wise, FFI can enable more performance gain than JIT. FFI can bring in 2000x to a potential 6,000,000 % or more performance improvement with accelerators.
  • JIT is still experimental after years of development and several point release
  • Math applications appears to be not a priority in PHP, thus JIT's promised benefits becomes moat

Description

With lots of issues of JIT, it appears its not being maintained properly, and thus, request to deprecate it. The promise of JIT seems to not been realized and seem to bring in more problem than solutions - just check the Issues section.

With deprecating JIT this will:

  • save unnecessary resource allocated to JIT
  • others

Rationale

JIT has its advantage in mathematical calculations, but it seems PHP dev is not interested on that and even turned down Operator Overload which is very important in simplifying PHP's math applications.

Given the devs lack of interest in math applications, if its mission critical, its NOT worth the hassle for bugs and potential uncertainty introduced by using JIT for a mediocre performance gain.

If you are pressed for performance, better use FFI and import your compute intensive C/C++/Rust functions/libraries than relying on the buggy and unpredictable JIT. With JIT, you risk the bug for your whole PHP applications, with FFI, its more isolated and its easier for you to step in and fix it, you can probably build a wrapper of a more advanced calculations libraries that already took thousands of engineering dev time to optimize its performance.

This is an example where FFI can enable 2000x performance improvement in math operations, that eclipses what a buggy JIT can offer if it works.

Performance wise we can even hook GPU and accelerators to get even 6,000,000 % performance gain or more with FFI, a feat even JIT can't do.

In summary, JIT is not worth it for the headache and effort to both internal dev team and users with just a mediocre performance gain.

Opinion

Internal PHP devs can always vote to keep JIT, but if its performance you are after, JIT is not the proper choice, so what's left for JIT now than a code bloat?

JIT is beneficial for JS because their VM is not optimized in the first place.

PHP Version

8.x

Operating System

All

Relevant Information

https://externals.io/message/129223

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions