Casey Randberger dropped by to point out that Squeak Smalltalk now has a JIT.
I don’t care about Squeak1, but very occasionally I think it would be nice if Perl got a JIT.
However, I don’t think it would make sense to develop a JIT for Perl.
- People don’t choose Perl for its speed
- The reason folks switch from Perl to a competitor2 is not because the competitor is faster (because it isn’t)
- Even for Python, everyone uses CPython rather than speedy implementation
There’s a lot of reasons I choose Perl, but a JIT would not increase the number of projects where I reach for Perl over C++.
1. It’s not pragmatic enough for me – who would employ me to write Squeak for example
2. Python and Ruby
Hi,
I tend to agree, Perl’s ast based internal structure is very fast. The overhead of JIT would almost certainly be a big down side as most perl programs seem to run for a very short time. JIT makes more sense in a language designed from the ground up to be multi-threaded and memory safe so applications run for a long time in a server type role.
I think the future of Per is much more wedded to tooling – debuggers, IDEs etc. The internals of the language are pretty mature and it is hard to see much benefit with change of change’s sake.
Best wishes – AJ
I totally disagree. Lots of people write persistent long running web applications in Perl (using mod_perl, FastCGI or these days something like Starman) and having an optional JIT that would optimize it as it ran for days or weeks would be an amazing feature to have.
I’d rather have a usable (up-to-date/finished) version of B:: or equivalent where I could ship a packaged product or P-code rather than ‘a set of source code and CPAN library components’.
…but I also agree with the ‘long running persistent application’ issue too.
Hi Michael,
I agree it would be nice if Perl got a JIT, as I said in my second line. However, I don’t think it *needs* it.
If VM speed was that important for scripting languages, everybody would use Lua (and LuaJIT) rather than the P-languages. PyPy would have killed off CPython, etc.
And again, right, it would be nice if your Starman app ran faster for free. But really, how much difference would it make for 99% of Starman apps. Would it make sense to devote finite development resource to a JIT rather a different, more useful Perl enhancement?
No, in my opinion.