help-octave
[Top][All Lists]
Advanced

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

Re: octave loop slowness (was "")


From: Joshua Rigler
Subject: Re: octave loop slowness (was "")
Date: Mon, 20 Mar 2006 18:07:40 -0600
User-agent: Mozilla Thunderbird 1.0.7-1.1.fc3 (X11/20050929)

Wow, this is news to me, but it makes sense when I consider the differences I've experienced with various programs I've written to work in both ML and Octave. Some, like a special interpolator I wrote last year that consisted of nothing but mathematical expressions and conditional blocks, run hundreds of times faster in ML, while other relatively loop-intensive functions saw almost no performance enhancement <insert viagra joke here> whatsoever.

So to be clear, ML basically reverts to one-line-at-a-time interpreter behavior when any user-defined function is inside the loop? If this is the case, I whole-heartedly agree with you that the push to reproduce such behavior in Octave, at the expense of time lost on more important Octave objectives, is clearly a case of mistaken priorities. If that much work is required to set up a loop that actually uses JIT, why not just write a .oct/.mex file?!?

-EJR

P.S. I see Brendan Drew responded with similar, if better-informed, comments before I could click "send". Oh well, I'll send this anyway, and maybe get more clarification regarding my question in paragraph two.


Paul Billings wrote:
Many people compare octave to Matlab and don't realize that Matlab has
invested mucho $$ in the JIT (just-in-time or "on the fly" compiling).
While people are quick to say, "Matlab's JIT is great, why doesn't octave
have one?", I personally don't think the JIT buys you much at all.  The
primary flaw in Matlab's JIT is that you cannot call any user functions
within the loop!

Must structured programming is, well, structured, and has numerous calls to
functions which call functions, etc.  For a sequence of calls to built-in
functions, I will encapsulate this into a user function so that it is
readable in the calling code and maintainable.  Whoops, I've just defeated
Matlab's fancy JIT, but I live with it since scattered cut-and-pasted code
blocks are unacceptable to me.

To put it another way: I can pretend that octave has a JIT.  For my code,
the "octave JIT" is about as effective as Matlab's -- meaning, it ain't.  I
am happy that the people guiding this project understand that other features
are of greater use.

Paul




-------------------------------------------------------------
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]