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
-----Original Message-----
From: John W. Eaton [mailto:address@hidden
Sent: Saturday, March 18, 2006 4:41 AM
To: Jordi Gutierrez Hermoso
Cc: address@hidden
Subject: Re: octave loop slowness (was "")
On 17-Mar-2006, Jordi Gutierrez Hermoso wrote:
| Of all the complaints I have heard about Octave, its slowness is the
| one that stings the most painfully. Cuts deep. Real deep.
|
| So, I'm interested to know, any idea why this is happening? Why would
| a simple for loop with no code to execute except running through all
| the values of its iterator take orders of magnitude more in Octave
| than in Matlab?
I can think of a few possibilities:
* because Octave's author only knows how to write a naive
interpreter and is too busy with other tasks to spend a lot of
time improving the interpreter (do you have a better one?)
* no interpreter/compiler wizards have appeared on the scene with
anything better
* people who have paid actual money for Octave's development have
cared more about features, correct results, and the fact that
Octave is freely available than speed (which has apparently been
good enough for them)
* our army of programmers is damn small and underfunded
Now, what can you do about it? Would you like to help, or just
complain?
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
-------------------------------------------------------------