David Grohmann wrote:
So I have some code that runs in matlab (on a P3 500 mhz 512 MB ram
windows box) about 133 times faster (33 minutes to complete something
instead of 15 seconds) than it does in octave( on a 4 processor 3.6 ghz
xeon machine with an ungodly amount of ram linux box). my guess is that
it is the use of loops and not vectorization.
Is such a large performance hit likely caused by loops vs vectorization
or might there be another explanation besides that?
I've searched online and haven't found anything to profile m files with,
other than in matlab. I have profiled it in matlab and sure enough it
does run the lines in the loops many (hundreds of thousands of times)
times but only one of the loops actually takes up a lot of run time.
This would probably be a good candidate for vectorizing. I suspect.
So is there anything out there for profiling or stepping through code in
an m file in octave?
I know I haven't posted the offending code, that is because I currently
don't have the authorization to do that. So my general question is how
do people profile their code and what not. I'm not asking you to fix my
code for me.
Thank you for any help you provide,
My guess is that you are running a cygwin binary version of octave.
There is a major bug in the setjmp/longjmp exception handler of g++ for
versions later than 3.2 that causes major pain to octave. As far as I
know this bug in cygwin as not yet been addressed. The result is
sssllloooowwww code..
D.
Octave was on a linux machine, matlab was on a windows machine.