<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Le 23/04/2015 23:51, Stéphane Mottelet
      a écrit :<br>
    </div>
    <blockquote cite="mid:55396964.7030103@utc.fr" type="cite">Hello,
      <br>
      <br>
      I am currently working on a project where Scilab code is
      automatically generated, and after many code optimization, the
      remaining bottleneck is the time that Scilab spends to execute
      simple code like this (full script (where the vector has 839
      lines) with timings is attached) :
      <br>
      <br>
      M1_v=[v(17)
      <br>
      v(104)
      <br>
      v(149)
      <br>
      -(v(18)+v(63)+v(103))
      <br>
      -(v(18)+v(63)+v(103))
      <br>
      v(17)
      <br>
      ...
      <br>
      v(104)
      <br>
      v(149)
      <br>
      ]
      <br>
      <br>
      This kind of large vectors are the used to build a sparse matrix
      each time the vector v changes, but with a constant sparsity
      pattern. Actually, the time spent by Scilab in the statement
      <br>
      <br>
      M1=sparse(M1_ij,M1_v,[n1,n2])
      <br>
      <br>
      is negligible compared to the time spent to build f M1_v...
      <br>
      <br>
      I have also noticed that if you need to define such a matrix with
      more that one column, the time elapsed is not linear with respect
      to the number of columns: typically 4 times slower for 2 columns.
      In fact the statement
      <br>
      <br>
      v=[1 1
      <br>
      ...
      <br>
      1000 1000]
      <br>
      <br>
      is even two times slower than
      <br>
      <br>
      v1=[1
      <br>
      ...
      <br>
      1000];
      <br>
      v2=[1
      <br>
      ....
      <br>
      1000];
      <br>
      v=[v1 v2];
      <br>
      <br>
      So my question to users who have the experience of dynamic link of
      user code : do you think that using dynamic link of compiled
      generated C code could improve the timings ?
      <br>
      Mais  apriori je ne fais rien qui soit OS dependant...<br>
    </blockquote>
    As your code is generated it should effectively a good idea to
    generate C code and use incremental linking (once the code has been
    compiled and link you can expect a speed factor around 100 times.
    But the compilation may be slow. So using dynmaic linking is a very
    good idea if your generated code has to be run many times.<br>
    Serge<br>
    <blockquote cite="mid:55396964.7030103@utc.fr" type="cite">In
      advance, thanks for your help !
      <br>
      <br>
      S.
      <br>
      <br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>