Automotive magazín Vehiklo Ventil + Facebook Vehiklo Ventil (8700 likes)
Zobrazují se odpovědi 1 až 3 z 3

PHP 8 implementuje JIT kompiler

  1. PHP 8 implementuje JIT (Just-In-Time) kompiler, mělo by díky tomu být rychlejší v matematických operacích. Webové aplikace to nejspíš zásadně neurychlí.

    Musings, ninja ones: PHP GR8
    Will the JIT make my website faster ?
    In all probability, not significantly.

    Maybe not the answer you were expecting: In the general case, applications written in PHP are I/O bound, and JIT works best on CPU bound code.
    Technický návrh
    PHP: rfc:jit
    PHP JIT is implemented as an almost independent part of OPcache. It may be enabled/disabled at PHP compile time and at run-time. When enabled, native code of PHP files is stored in an additional region of the OPcache shared memory and op_array→opcodes[].handler(s) keep pointers to the entry points of JIT-ed code. This approach doesn't require engine modification at all.

    We use DynAsm (developed for LuaJIT project) for generation of native code. It's a very lightweight and advanced tool, but does assume good, and very low-level development knowledge of target assembler languages.

    The quality of the JIT may be demonstrated on Mandelbrot benchmark published at https://gist.github.com/dstogov/12323ad13d3240aee8f1, where it improves performance more than 4 times (0.011 sec vs 0.046 sec on PHP 7.4).

  2. Co se právě děje na Webtrhu?
    Tomasmika poptává: Administrativní práce - správa webového obsahu
    Eliaš - IT Solutions poptává: Hľadám Angular developera - Remote
    Gemba Kaizen poptává: Hledám webaře Juniora
  3. Ty jejich benchmarky jsou dost směšné. Skoro to vypadá jako by PHP bylo nějaký zázrak v rychlosti. Proč používá PHP verze benchmarků bufferování výstupu a ostatní ne?

    Stačí si s tím trochu pohrát a třeba u Javy je naprosto jasné, že více než polovinu času to stráví vypisováním a nikoliv výpočtem. Tj. stačí přidat bufferování výstupu a hned mám čas asi 3x lepší.

    Jen na zkoušku jsem zkusil taky zkompilovat C verzi s -O2 a dostal jsem stejný čas, co tam mají oni. Tj. asi 0.013. Vyhodil jsem ty printf a jsem na 0.000...

    Ty benchmarky paradoxně ukazují na to, jak je PHP bez JIT děsivě pomalé oproti všemu ostatnímu. A vzhledem k tomu, že JIT bude mít jenom velmi malý vliv podle jejich vlastních slov, tak ta rychlost je tristní.

  4. Benchmark lze použít pro srovnání verzí PHP mezi sebou.

Hostujeme u Server powered by TELE3