|Subject:||Re: Slow plotting (redraw due to legend?)|
|Date:||Fri, 11 Mar 2016 05:51:40 -0500|
Hello and thanks for your tests.
> I tried all 3 and found about the same time.
Same as mine or same as Mike's?
> The OP is questioning the time for legend but that is only 1.5% of the time, so any improvement would make practically no difference to the overall time.
No, it is not about the time that legend() itself uses, but about other facts:
- those legend-calls seem to cause replotting (as seen in the profiling output, number
of calls to "__line__", "cellfun" and "set" which make up more than 80% of the time)
which makes execution time go up about three times. Execution time of 3.2.3 does not
vary in this regard, so I assume that no replotting takes place. Furthermore I added a counter
to 3.2.3's line.m; it counts 16 calls no matter if there's a legend or not, just like 3.6.4 and 4.0.0
- although showing the same number of calls, 4.0.0 is significantly slower than 3.6.4
(confirmed by Mike whose numbers relate to mine)
- even without those redraws caused by "legend", I experience 4.0.0 to be several times
slower than 3.2.3.
So in case my code is ok, I feel that there are two regressions: unnecessary replotting and general slowness.
Further details about my systems:
Ubuntu 14.04, octave 4.0.0 compiled from source, gnuplot 4.6 patchlevel 4:
0.82s with legend, boxoff, left
0.26s without legend
Number of calls just like in my first post
cat /proc/cpuinfo reports intel i5 M 560 @ 2.67GHz
win7, official octave 4.0.0 build including gnuplot 4.6 patchlevel 7
intel i5-3360M @ 2.80GHz
Mike, your numbers are some times smaller than mine, but generally show the same trend. Could you share details about your system?
SEW-EURODRIVE GmbH & Co KG
Kommanditgesellschaft, Sitz: Bruchsal, RG Mannheim HRA 230970
Komplementärin: SEW-EURODRIVE Verwaltungs-GmbH, Sitz: Bruchsal, RG Mannheim HRB 230207
Gesellschafter: Jürgen Blickle, Rainer Blickle
Geschäftsführer: Jürgen Blickle (Vorsitzender), Udo Aull, Johann Soder, Dr. Jürgen Zanghellini
|[Prev in Thread]||Current Thread||[Next in Thread]|