Remix.run Logo
▲ Krishansubudhi 6 hours ago

I hope it does not lead to performance issues later. Python is already famous for being slower than compiled languages.

▲FranOntanaya 5 hours ago | parent [-]

Being slower than a compiled language is not saying much for an interpreted language. But it's slower than PHP which is a closer comparison, and PHP has had JIT for six years now.

▲pansa2 5 hours ago | parent | next [-]

Ruby has the reputation of being a very slow language, but Python has been slower still since Ruby jumped ahead with version 1.9, almost 20 years ago. Ruby also has had far more success with JIT compilers than Python has.

▲chao- 4 hours ago | parent [-]

>Ruby also has had far more success with JIT compilers than Python has.

Ruby is on its third (I think?) JIT now? I'm a little surprised, given Ruby's reputation as a wacky "anything goes" language with a very complex grammar, and it makes me wonder why that is? Does it have to do with the design of the runtime itself more than the language semantics? Or is it more incidental, e.g. many popular ibs are C wrappers, already generates bytecode files, and so on.

▲byroot 2 hours ago | parent | next [-]

The difference is that Ruby follow the BDFL model, and Ruby's BDFL was willing to allow people to experiment with in-tree development of JITs.

If the Python steering committee isn't willing to do the same, they'll probably won't get a working JIT any time soon. Developing a JIT externally, or even from a branch, is just too hard.

▲samus 3 hours ago | parent | prev [-]

Getting a JIT right is hard work because time spent by the JIT is time not spent doing actual work, and finding the correct tradeoffs is very much an empirical problem.

▲skeledrew 3 hours ago | parent | prev [-]

And PHP is quite the hot mess. Always has been, really. See the security issues over the years, including the most recent for example. Meanwhile I've never seen any serious issues for Python that's triggered mass required fixing. There's something to be said for moving carefully and ensuring things aren't broken to the best of one's ability, which is the SC's purpose.

▲pjmlp 2 hours ago | parent [-]

https://app.opencve.io/cve/?product=python&vendor=python