<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>