Re:PHP 8 to Add a JIT
by a1369209993 on Sunday March 31, 2019 @03:14PM
(#19537631)
It's less fast than direct lookups, but if the compiler supports it properly, it shouldn't be any slower than a associative array lookup.
You'd probably want to add error handling (to both cases) and accessing a global variable that didn't exist when the code was compiled will likely be slow, but if becomes a preformance bottleneck you can always rewrite it to something easier to compile.
[ Parent
| on HN ]
And of course a smart JIT compiler can even put the variable access lookup in an inline cache on the function so that in the future it's a direct type + key = offset calculation rather than a memory lookup and the hash_get call is avoided.
Re:PHP 8 to Add a JIT
by a1369209993 on Sunday March 31, 2019 @05:37PM
(#19538580)
True. I was aiming for the simplest example that could pass as real general-case-ish assembly; there's plenty of room for improvement.