Deep Dive into PHP 8's JIT
thephp.website
Deep Dive into PHP 8's JIT
1–10 of 66 posts
Re: Deep Dive into PHP 8's JIT
#2But anyway, kudos to the PHP folks for yet another improvement. It’s been a long time since I used it but I’m continually impressed by how far it’s come. And it’s a useful test to how flexible a developer is willing to be to ask them to code some PHP, there are fewer and fewer reasons against it these days other than personal style preference.
Re: Deep Dive into PHP 8's JIT
#3Tiny nitpick: the article describes JavaScript as an interpreted language without JIT when most major JS engines do have JIT optimisation. It’s difficult to make this call about any language with more than one implementation. But anyway, kudos to the PHP folks for yet another improvement. It’s been a long time since I used it but I’m continually impressed by how far it’s come. And it’s a useful test to how flexible a…
Cpython is interpreted, pypy has JIT, mypyc is compiled. It's the implementation, or even implementation's specific runtime options that decide about things like that, not the language.
Re: Deep Dive into PHP 8's JIT
#4Tiny nitpick: the article describes JavaScript as an interpreted language without JIT when most major JS engines do have JIT optimisation. It’s difficult to make this call about any language with more than one implementation. But anyway, kudos to the PHP folks for yet another improvement. It’s been a long time since I used it but I’m continually impressed by how far it’s come. And it’s a useful test to how flexible a…
The whole idea of "language X is interpreted/compiled" is a simplification I wish people were more careful with. Cpython is interpreted, pypy has JIT, mypyc is compiled. It's the implementation, or even implementation's specific runtime options that decide about things like that, not the language.
C can be interpreted too: https://en.wikipedia.org/wiki/CINT
Re: Deep Dive into PHP 8's JIT
#5Re: Deep Dive into PHP 8's JIT
#6Earlier quoted context omitted.
The whole idea of "language X is interpreted/compiled" is a simplification I wish people were more careful with. Cpython is interpreted, pypy has JIT, mypyc is compiled. It's the implementation, or even implementation's specific runtime options that decide about things like that, not the language.
The statement would be far more accurate as "language X is [almost always/sometimes/often/commonly/etc.] interpreted/compiled". Unfortunately a lot of people seem to like speaking in absolutes. C can be interpreted too: https://en.wikipedia.org/wiki/CINT
Re: Deep Dive into PHP 8's JIT
#7Earlier quoted context omitted.
The whole idea of "language X is interpreted/compiled" is a simplification I wish people were more careful with. Cpython is interpreted, pypy has JIT, mypyc is compiled. It's the implementation, or even implementation's specific runtime options that decide about things like that, not the language.
The statement would be far more accurate as "language X is [almost always/sometimes/often/commonly/etc.] interpreted/compiled". Unfortunately a lot of people seem to like speaking in absolutes. C can be interpreted too: https://en.wikipedia.org/wiki/CINT
Compilation is just interpreting what a program does and producing machine code (or other code in the case of transpilers) that computes the same thing.
Interpreters are just that, but instead of producing code, they run code in themselves thats computes the results directly.
One could even consider machine code just “obfuscated” assembly code. In that sense, machine code is just another language that also could be interpreted (intepretation-based emulators like Bochs) or compiled again (JIT-based emulators like DOSBox).
This brings up a slightly related question: is there a language that can’t be compiled?
Re: Deep Dive into PHP 8's JIT
#8Earlier quoted context omitted.
The statement would be far more accurate as "language X is [almost always/sometimes/often/commonly/etc.] interpreted/compiled". Unfortunately a lot of people seem to like speaking in absolutes. C can be interpreted too: https://en.wikipedia.org/wiki/CINT
And the Rust compiler ships with a Rust interpreter, used to evaluate const fns (functions whose output can be determined at compile time).
Re: Deep Dive into PHP 8's JIT
#9Re: Deep Dive into PHP 8's JIT
#10Truth can be harsh, but people sometime overvalue to such an extent is hard to understand.