Joshua N Pritikin wrote:
> Of course perl6 can retain both execution models (op-tree & native
> code), but perhaps the emphasis should be on optimized native code.
The Kaffe java VM uses a native code JIT and they've had trouble
getting decent performance. From their own web page (www.kaffe.org):
| Kaffe's current performance, despite the fact that Kaffe features a JIT
| compiler, is rather weak. While we do not have hard data, we would
| estimate that Kaffe performs about as good or only slightly better than
| the JDK 1.1.7 interpreter on a platform such as Linux.
| Kaffe's Just-in-time compiler does not perform any
| optimizations. This leads to a large number of emitted machine
| code instructions per bytecode instruction, many of them
| unnecessary and expensive loads and stores.
> perl5 is interpreter-centric with native code generation
> bolted on well into the development lifecycle.
I'd prefer us to tackle native code generation using C as the
intermediate language instead of a JIT. It's more portable, simpler
and takes advantage of all the C compiler optimizations. I'm not
looking for Perl 6 to be a Java/Applet replacement. Is that really
where we want to go?
> On the other hand, compile-time variable typing seems
> eminently relevant.
There are several threads trying to tackle this problem right now.
I'm starting to think that mailing lists are poor substitutes
for face-to-face brain storming.
- Ken