[Top][All Lists]

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

Re: Type estimating Octave Compiler

From: David Bateman
Subject: Re: Type estimating Octave Compiler
Date: Tue, 19 Apr 2005 13:51:20 +0200
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Jens Ruecknagel wrote:

It is done.

As my Student Diploma Thesis (after 5 years at University in Germany, comparable to a Master) I implemented an Octave to C++ compiler prototype using type estimation techniques. A first benchmark shows that the compiled code executes on average 38 times faster.

The techniques used in this compiler are really interesting, if your interested read the thesis and checkout the compiler, download it from http://ruena.gmxhome.de

Please send me your comments.

Jens R�ücknagel


This is great, and I really think it has to go into the 2.9.x tree asap. I'm sick of speed comparison with the other brand that point up the absence of JIT in octave.

I notice a couple of points. Firstly, this is a compiler and not a JIT, so the functions have to be compield before use. Would it be possible to incorporate the code directly in the interpret in the same way as the JIT in matlab? Also I see that you seem to only have implemented the add, mul and le operators, and the do-until loop structure. What is the workload to implement the rest, relative to where you're at? Could there be a fallback to the old means of parsing the code for the cases that aren't implemented, rather than a compilation failure as currently happens? You also only treat complex/real scalars and matrices, there are a large number of additional types that were added after 2.1.57, and it seems that these will cause problems with the way the code is currently structured.. Finally, you use the matrix_value() method of the octave_value class to get a Matrix. However, as octave_matrix is now based on the NDArray class, by doing this you loose NDArray support? I used for the mul operator this is needed, but not for the add operator....

Great Work

reply via email to

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