<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Le 25/02/2017 à 18:05, Samuel Gougeon a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:0b84b337-7106-a05e-66db-c728778cc762@free.fr">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Hello,<br>
<br>
Opening a new empty figure (without drawing anything) is a so
common elementary task and it has become so long that i have built
a short benchmark about it from Scilab 4.1.2 to Scilab 6.0.<br>
Detailed results are here-below. The main conclusions are the
following:
<ol>
<li>with no pre-existing figure,<b> scf</b><b>() is </b><b>20
times slower in </b><b>5.5 and 6.0 than in </b>its best
performances in <b>5.3.0</b>. On my computer, it takes 0.062
s with 5.3.0 and 1.3 s now (5.5.2|6.0).<br>
Scilab 5.4.0, 5.4.1 and 5.5.0 have dramatically damaged
performances.<br>
The loss is even 10x bigger with figure(): it is ~200 times
slower with Scilab 5.5 & 6.0 than with Scilab 4.1.2<br>
<br>
</li>
<li>Since Scilab 5.5.0, the time taken to open a new figure
increases linearly with the number of already opened figures.
On my computer, opening the first one (after loading scf())
takes 1.8 s, and opening the 20th one takes almost 10 s. This
is still the case with Scilab 6.0.</li>
</ol>
<p><b>Detailled results: </b><br>
</p>
<ol>
<li>Opening the first figure :<br>
Only 2 tests are reported with figure() instead of scf().<br>
<pre style="font-family:Monospaced;font-style:normal;font-size:12.0;"><span style="color:rgb(0,0,0);"></span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">50</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(50,185,185);">tic</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">scf</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">t</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(50,185,185);">toc</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(50,185,185);">xdel</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(160,32,240);">end</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">t</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(0,0,0);">t</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span>
[s] [s] 4.1.2 base figure()
<span style="color:rgb(188,143,143);">6.0</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">62.39</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">1.248</span> <span style="color:rgb(188,143,143);">18.5 2.32</span>
<span style="color:rgb(188,143,143);">5.5</span><span style="color:rgb(188,143,143);">.2</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">73.62</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">1.4723</span> <span style="color:rgb(188,143,143);">21.8</span>
<span style="color:rgb(188,143,143);">5.5</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">69.94</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">1.3988</span> <span style="color:rgb(188,143,143);">20.8</span>
<span style="color:rgb(188,143,143);">5.4</span><span style="color:rgb(188,143,143);">.1</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">37.33</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">0.7466</span> <span style="color:rgb(188,143,143);">11.1</span>
<span style="color:rgb(188,143,143);">5.4</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">24.07</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">0.4814</span> <span style="color:rgb(188,143,143);">7.14</span>
<span style="color:rgb(188,143,143);">5.3</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">3.102</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">0.0620</span> <span style="color:rgb(188,143,143);">0.92</span>
<span style="color:rgb(188,143,143);">5.1</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">4.069</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">0.0814</span> <span style="color:rgb(188,143,143);">1.21</span>
<span style="color:rgb(188,143,143);">4.1</span><span style="color:rgb(188,143,143);">.2</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">3.370</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">50</span> <span style="color:rgb(188,143,143);">0.0674</span> <span style="color:rgb(188,143,143);">1.00 0.014</span></pre>
</li>
<li><span style="color:rgb(188,143,143);"><font color="#000000">Opening
20 figures :<br>
</font></span>
<pre style="font-family:Monospaced;font-style:normal;font-size:12.0;"><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">20</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(50,185,185);">tic</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">scf</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">toc</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(160,32,240);">end</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(50,185,185);">sum</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">20</span>
<span style="color:rgb(188,143,143);">6.0</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">5.30</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1.35</span> <span style="color:rgb(92,92,92);">=</span><span style="color:rgb(92,92,92);">></span> <span style="color:rgb(188,143,143);">9.51</span><span style="color:rgb(74,85,219);">]</span>
<span style="color:rgb(188,143,143);">5.5</span><span style="color:rgb(188,143,143);">.2</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">5.68</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1.77</span> <span style="color:rgb(92,92,92);">=</span><span style="color:rgb(92,92,92);">></span> <span style="color:rgb(188,143,143);">9.92</span><span style="color:rgb(74,85,219);">]</span>
<span style="color:rgb(188,143,143);">5.5</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">5.66</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1.82</span> <span style="color:rgb(92,92,92);">=</span><span style="color:rgb(92,92,92);">></span> <span style="color:rgb(188,143,143);">9.85</span><span style="color:rgb(74,85,219);">]</span> range from the #1 to #20
<span style="color:rgb(188,143,143);">5.4</span><span style="color:rgb(188,143,143);">.1</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">1.18</span>
<span style="color:rgb(188,143,143);">5.4</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">0.923</span>
<span style="color:rgb(188,143,143);">5.3</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">0.110</span>
<span style="color:rgb(188,143,143);">5.1</span><span style="color:rgb(188,143,143);">.0</span> <span style="color:rgb(255,170,0);">:</span>
<span style="color:rgb(188,143,143);">4.1</span><span style="color:rgb(188,143,143);">.2</span> <span style="color:rgb(255,170,0);">:</span> <span style="color:rgb(188,143,143);">0.0774
<img src="cid:part1.FB5D4FAA.8A722ED5@free.fr" alt="" class="" width="340" height="184"></span><font face="Arial">
<img src="cid:part2.3CF2E434.479097E6@free.fr" alt="" class="" width="303" height="205"></font></pre>
</li>
</ol>
Samuel</blockquote>
<p><br>
</p>
<p>This issue is fixed in Scilab 6.1.0, on Windows 10. Fortunately.<br>
Here are the current Scilab 6.1.0 performances (on another
computer than in 2017):</p>
<p><img src="cid:part3.3FD5D1C6.F59F3850@free.fr" alt=""></p>
<p>It is still ~5x slower than with Scilab 4.1.2 (on the same
computer),<br>
but it no longer depends on the number or figures currently
opened.<br>
</p>
Samuel<br>
<br>
</body>
</html>