Hi,
I was looking for MATLAB timing profile from OCTAVE, but didn't find.
Then I made a plan to measure OCTAVE timings. Several alternatives
were found:
1) Inserting
t(linenum, callcounter) = clock();
timelines in the code. This works, but isn't automatic, so big
files cause lots of additional work done.
2) Inserting
t(linenum, callcounter) = clock();
timelines in the code AUTOMATICALLY before actually calling the
scripts or functions.
Then you get:
myfunction.m ----> modified myfunction.m including timelines.
This also works, but needs a facility to maintain timelines in
m-files. An easy automatic code looks for suitable lines in the m-file
and inserts a timeline everywhere.
However, this modifies m-files, which isn't very good thing in the
long run.
3) Could simulate OCTAVE engine and call eval for every octave code
fraction with timing measurement:
octaveline ----> eval ( 'timestart; octaveline ; timestop;')
this also works, but simulation can become rather complicated
trying to do all the same things as octave engine does.
4) Could dispatch octave engine "eval"-functionality to include timing
start and stop around executed code.
How this can be done? eval is a builtin function in octave. And
timing results need to be collected also.
5) Can find out average times for every octave action during eval and
report results as estimations of algorithm times.
This is not exact, but gives a good view of timings in an algorithm.
This works, but isn't automatic, so big files cause lots of
additional work done. And exceptional timings are not found this way.
6) Could try to use external facilities to measure timing points to
octave engine proceedings. Works and shows code location timings, but
since code location contents are not exactly known and can even vary,
isn't the best possible way to measure octave timings.
Is MATLAB profile on/off available for octave somewhere outside octave
pages? It wasn't mentioned in octave manuals.
Sincerely
Jari-Pekka Ikonen
email: address@hidden
<mhtml:%7B346A1EDF-6639-4BF9-A047-A83A328AABDF%7Dmid://00000362/%21x-usc:mailto:address@hidden>