|From:||Robert T. Short|
|Subject:||Re: Converting code from Scilab to Octave and strange slow down while trying to plotting.|
|Date:||Wed, 20 Feb 2019 15:07:38 -0800|
|User-agent:||Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1|
On 2/20/19 11:11 AM, Mike Miller wrote:
On Wed, Feb 20, 2019 at 13:42:16 -0500, RT wrote:I'm trying to convert some code over from Scilab 6.01 to Octave 5.0.91. I'm testing the code with Octave version 5.0.91 on Ubuntu 64bit 16gig ram. In Scilab the code plots in about 2 seconds but after 15mins in Octave 5.0.91 it's still going. Can anyone see the error in my conversion from Scilab to Octave and why this won't plot with the same values as Scilab?There is no error, you've found a performance regression in Octave 5. Can you file a bug report? Here is a simpler example that shows a loss of performance from 4.4 to 5, with scatter3 on 1024 points: $ cat t.m [x, y, z] = peaks (32); [x, y, z] = deal (x(:), y(:), z(:)); tic; scatter3 (x, y, z); toc $ octave-4.4.1 t.m Elapsed time is 0.104946 seconds. $ octave-5.0.91 t.m Elapsed time is 20.1961 seconds.
I suspect this is the same bug that keeps coming back in scatter plots. If you use a separate patch for each point it gets very, very slow with a lot of points. The fix several years ago was to use a patch per point up to some number (I recall 100 points) and then do it differently. Pretty sure this is the way MATLAB does it as well. Every few years somebody "fixes" this and slows it back to uselessness.
If I have time I will look at this.
|[Prev in Thread]||Current Thread||[Next in Thread]|