help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: octave loop slowness (was "")


From: Brendan Drew
Subject: Re: octave loop slowness (was "")
Date: Tue, 21 Mar 2006 19:15:59 -0700
User-agent: Mozilla Thunderbird 1.0.7 (Macintosh/20050923)

True, there is no requirement that you generate Java bytecode to be fed to a JVM to get JIT; however, I am extremely leery of reinventing the wheel. Especially when the wheel in question is a very very hairy piece of software. We didn't really deal much with JIT stuff in my compiler or architecture classes, but I can imagine that supporting JIT capabilities puts some pretty strong requirements on the VM / interpreter and forces your hand in a number of important design issues (such as what your IR looks like). First off, you're going to have to be keenly aware of the underlying ABI conventions for whatever your implementation language is so that you're able to link against JIT compiled code. You might have to redo your symbol table to look more like a traditional compiler's symbol table so that you can support the assembly phase of the JIT. This is just off the top of my head --- I'm sure that there are tons of other issues which crop up when you implement JIT.

Java has already (largely) solved these problems, which is why most of the JIT research that I'm aware of is all JVM based. There is a set of GNU packages which allow a kind of limited (last I checked) JIT -- GNU Lightning and one other that I can't recall off the top of my head. Maybe LLVM (http://developers.slashdot.org/article.pl?sid=04/08/13/2356209) would be of interest?


John W. Eaton wrote:

On 20-Mar-2006, Brendan Drew wrote:

| Doing the JIT "properly" gets to be a mess, because you end up having to | basically throw away your entire interpreter and writing a full-up | compiler which translates Matlab-ish code --> JVM microcode.

By JVM, do you mean Java Virtual Machine?  There is no requirement
that a just-in-time compiler generate Java bytecodes or have anything
at all to do with Java.

jwe



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------




-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]