<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Le 15/10/2018 à 18:17, Arvid Rosén a
      écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:545819DB-4EA0-43A2-9E8C-48AAFAC53A90@softube.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi again,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I just filed a bug
            report here:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><a
              href="http://bugzilla.scilab.org/show_bug.cgi?id=15809"
              moz-do-not-send="true">http://bugzilla.scilab.org/show_bug.cgi?id=15809</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Would it be possible to
            bring back the old mem-dump approach in scilab 6?</span></p>
      </div>
    </blockquote>
    Couldn't you create your own atom package that restore this raw
    memory dump for scilab 6.0?<br>
    I understand why we moved away from this model, but it seems to be
    key for you.<br>
    There is always a trade-off between portability (and robustness) and
    raw speed...<br>
    <blockquote type="cite"
      cite="mid:545819DB-4EA0-43A2-9E8C-48AAFAC53A90@softube.com">
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US"> I mean, could I write a
            gateway that just takes a pointer to the first byte in
            memory, figures out the size, and dumps to disk? Or maybe it
            doesn’t work like that. Writing a JSON exporter for storing
            filter coefficients in a math software package seems a bit
            ridicules, but hey, if it works it might be worth it in our
            case.</span></p>
      </div>
    </blockquote>
    I was also wondering whether this can be done in HDF5: ie do some
    serialization of your structure and dump it in hdf5?<br>
    We use hdf5 for Labview and for some horrible structures (like
    arrays of clusters containing lots of elements of different types),
    we just turn them into byte stream and dump the stream in an hdf5
    dataset.<br>
    We then retrieve it and rebuild the structure (knowing its shape).<br>
    Could this be implemented in Scilab 6?<br>
    What could be missing, the any variable -> bytestream conversion
    and the way back?<br>
    <br>
    Antoine<br>
    <blockquote type="cite"
      cite="mid:545819DB-4EA0-43A2-9E8C-48AAFAC53A90@softube.com">
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Cheers,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Arvid<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <div style="border:none;border-top:solid #B5C4DF
          1.0pt;padding:3.0pt 0cm 0cm 0cm">
          <p class="MsoNormal" style="margin-left:36.0pt"><b><span
                style="font-size:12.0pt" lang="EN-US">From:
              </span></b><span style="font-size:12.0pt" lang="EN-US">users
              <a class="moz-txt-link-rfc2396E" href="mailto:users-bounces@lists.scilab.org"><users-bounces@lists.scilab.org></a> on behalf of
              Clément DAVID <a class="moz-txt-link-rfc2396E" href="mailto:clement.david@scilab-enterprises.com"><clement.david@scilab-enterprises.com></a><br>
              <b>Reply-To: </b>Users mailing list for Scilab
              <a class="moz-txt-link-rfc2396E" href="mailto:users@lists.scilab.org"><users@lists.scilab.org></a><br>
              <b>Date: </b>Monday, 15 October 2018 at 15:48<br>
              <b>To: </b>Users mailing list for Scilab
              <a class="moz-txt-link-rfc2396E" href="mailto:users@lists.scilab.org"><users@lists.scilab.org></a><br>
              <b>Cc: </b>Clément David
              <a class="moz-txt-link-rfc2396E" href="mailto:Clement.David@esi-group.com"><Clement.David@esi-group.com></a><br>
              <b>Subject: </b>Re: [Scilab-users] HDF5 save is super
              slow<o:p></o:p></span></p>
        </div>
        <div>
          <p class="MsoNormal" style="margin-left:36.0pt"><span
              lang="EN-US"><o:p> </o:p></span></p>
        </div>
        <p class="MsoNormal" style="margin-left:36.0pt">Hello all,<o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"> <o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US">Correct, I experienced such a slowness while
            working with Xcos diagrams for Scilab 5. At first we
            considered HDF5 for this deep nested list / mlist
            data-structure storage however after some tests ; XML might
            be used for tree-like storage and HDF5 (or Java types
            serialization) for big matrices.</span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US"> </span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US">AFAIK currently there is no easy way to
            load/save specifying a format other than HDF5 ; maybe adding
            xmlSave/xmlLoad sci_gateway to let the user select an xml
            file format for any Scilab structure might provide better
            performance on your use-case. JSON might also be another
            candidate to look at for decent serialization support.</span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US"> </span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US">PS: Scilab 5.5.1 load/save are direct memory
            dump so this is really the fastest you can get from Scilab ;
            HDF5 binary format is good enough for matrices</span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US"> </span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US">--</span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US">Clément</span><o:p></o:p></p>
        <p class="MsoNormal" style="margin-left:36.0pt"><span
            lang="EN-US"> </span><o:p></o:p></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal" style="margin-left:36.0pt"><b><span
                  lang="EN-US">From:</span></b><span lang="EN-US"> users
                <a class="moz-txt-link-rfc2396E" href="mailto:users-bounces@lists.scilab.org"><users-bounces@lists.scilab.org></a>
                <b>On Behalf Of </b>Stéphane Mottelet<br>
                <b>Sent:</b> Monday, October 15, 2018 2:36 PM<br>
                <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a><br>
                <b>Subject:</b> Re: [Scilab-users] HDF5 save is super
                slow</span><o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal" style="margin-left:36.0pt"> <o:p></o:p></p>
        <div>
          <div>
            <p class="MsoNormal" style="margin-left:36.0pt">Hello,<br>
              <br>
              I looked a little bit in the sources: the evident
              bottleneck is the nested creation of an hdf5 group each
              time that a container variable is met.<br>
              For the given example, this is particularly evident. If
              you replace the syslin structure by the corresponding
              [A,B;C,D] matrix, then save is ten times faster:<br>
              <br>
              N = 4;<br>
              n = 1000;<br>
              filters = list();<br>
              for i=1:n<br>
                G=syslin('c', rand(N,N), rand(N,1), rand(1,N),
              rand(1,1));<br>
                filters($+1) = G;<br>
              end<br>
              tic();<br>
              save('filters.dat', 'filters');<br>
              disp(toc());<br>
              --> disp(toc());<br>
              <br>
                 0.724754<br>
              <br>
              N = 4;<br>
              n = 1000;<br>
              filters = list()<br>
              for i=1:n<br>
                G=syslin('c', rand(N,N), rand(N,1), rand(1,N),
              rand(1,1));<br>
                filters($+1) = [G.a G.b;G.c G.d];<br>
              end<br>
              tic();<br>
              save('filters.dat', 'filters');<br>
              disp(toc());<br>
              --> disp(toc());<br>
              <br>
                 0.082302<br>
              <br>
              Serializing container objects seems to be the solution,
              but it goes towards an orthogonal direction w.r.t. the
              hdf5 portability spirit.<br>
              <br>
              S.<br>
              <br>
              <br>
              Le 15/10/2018 à 12:22, Antoine Monmayrant a écrit :<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <div>
              <p class="MsoNormal" style="margin-left:36.0pt">Le
                15/10/2018 à 11:55, Arvid Rosén a écrit :<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <div>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">Hi,</span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US"> </span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">Thanks for getting back to me!</span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US"> </span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">Unfortunately, we used Scilab’s pretty
                    cool way of doing object orientation, so we have big
                    nested tlist structures with multiple instances of
                    various lists of filters and other structures, as in
                    my example. Saving those structures in some explicit
                    manual way would be extremely complicated. Or is
                    there some way of writing explicit HDF5
                    saving/loading schemes using overloading? That would
                    be great! I am sure we could find the main culprits
                    and do something explicit for them, but as they can
                    be located wherever in a big nested structure, it
                    would be painful to do anything on the top level.</span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US"> </span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">Another, related I guess, problem here
                    is that the new file format uses about 15 times as
                    much disk space as the old format (for a typical
                    ill-behaved nested structure). That adds to the
                    save/load time too I guess, but is probably not the
                    main source here.</span><o:p></o:p></p>
              </div>
            </blockquote>
            <p class="MsoNormal" style="margin-left:36.0pt">Argh, yes, I
              tested it and in your example, I have a file x8.5 bigger.<br>
              I think that both increases in time and size are real
              issues and should be reported as bugs.<br>
              <br>
              By the way, I rewrote your script to run it under both 6.0
              and 5.5:<br>
              <br>
              /////////////////////////////////<br>
              N = 4;<br>
              n = 10000;<br>
              filters = list();<br>
              <br>
              for i=1:n<br>
                G=syslin('c', rand(N,N), rand(N,1), rand(1,N),
              rand(1,1));<br>
                filters($+1) = G;<br>
              end<br>
               <br>
              ver=getversion('scilab');<br>
              <br>
              if ver(1)<6 then<br>
                  tic();<br>
                  save('filters_old.dat', filters);<br>
                  ts1 = toc();<br>
              else<br>
                  tic();<br>
                  save('filters_new.dat', 'filters');<br>
                  ts1 = toc();    <br>
              end<br>
               <br>
              printf("Time for save %.2fs\n", ts1);<br>
              /////////////////////////////////<br>
              <br>
              Hope it helps,<br>
              <br>
              Antoine<br>
              <br>
              <br>
              <br>
              <o:p></o:p></p>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <div>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US"> </span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">I think I might have reported this
                    earlier using Bugzilla, but I’m not sure. I’ll check
                    and report it if not.</span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US"> </span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">Cheers,</span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US">Arvid</span><o:p></o:p></p>
                <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt"><span
                    lang="EN-US"> </span><o:p></o:p></p>
                <div style="border:none;border-top:solid #B5C4DF
                  1.0pt;padding:3.0pt 0cm 0cm 0cm">
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><b><span
                        style="font-size:12.0pt" lang="EN-US">From: </span></b><span
                      style="font-size:12.0pt" lang="EN-US">users
                      <a href="mailto:users-bounces@lists.scilab.org"
                        moz-do-not-send="true"><users-bounces@lists.scilab.org></a>
                      on behalf of
                      <a href="mailto:amonmayr@laas.fr"
                        moz-do-not-send="true">"amonmayr@laas.fr"</a> <a
                        href="mailto:amonmayr@laas.fr"
                        moz-do-not-send="true">
                        <amonmayr@laas.fr></a><br>
                      <b>Reply-To: </b><a
                        href="mailto:antoine.monmayrant@laas.fr"
                        moz-do-not-send="true">"antoine.monmayrant@laas.fr"</a>
                      <a href="mailto:antoine.monmayrant@laas.fr"
                        moz-do-not-send="true"><antoine.monmayrant@laas.fr></a>,
                      Users mailing list for Scilab
                      <a href="mailto:users@lists.scilab.org"
                        moz-do-not-send="true"><users@lists.scilab.org></a><br>
                      <b>Date: </b>Monday, 15 October 2018 at 11:08<br>
                      <b>To: </b><a
                        href="mailto:users@lists.scilab.org"
                        moz-do-not-send="true">"users@lists.scilab.org"</a>
                      <a href="mailto:users@lists.scilab.org"
                        moz-do-not-send="true">
                        <users@lists.scilab.org></a><br>
                      <b>Subject: </b>Re: [Scilab-users] HDF5 save is
                      super slow</span><o:p></o:p></p>
                </div>
                <div>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      lang="EN-US"> </span><o:p></o:p></p>
                </div>
                <div>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt">Hello,<br>
                    <br>
                    I tried your code in 5.5.1 and the last
                    nightly-build of 6.0: I see a slowdown of around 175
                    between old save in 5.5.1 and new (and only) save in
                    6.0.<br>
                    It's really related to the data structure, because
                    we use hdf5 read/write a lot here and did not
                    experience significant slowdowns using 6.0.<br>
                    I think the overhead might come to the translation
                    of your fairly complex variable (a long array of
                    tlist) in the corresponding hdf5 structure.<br>
                    In the old save, this translation was not necessary.<br>
                    Maybe you could try to save your data in a different
                    way.<br>
                    For example:<br>
                    3) you could save each element of "filters" in a
                    separate file.<br>
                    2) you could bypass save and directly write your
                    data in a hdf5 file by using h5open(), h5write()
                    directly. It means you need to write your own load()
                    for your custom file format. But this way, you can
                    try to find the best way to layout your data in hdf5
                    format.<br>
                    3) in addition to 2) you could try to save each
                    entry of your "filters" array as one dataset in a
                    given hdf5 file.<br>
                    <br>
                    Did you search on bugzilla whether this bug was
                    already submitted?<br>
                    Could you try to report it?<br>
                    <br>
                    <br>
                    Antoine<br>
                    <br>
                    Le 15/10/2018 à 10:11, Arvid Rosén a écrit :<o:p></o:p></p>
                </div>
                <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">/////////////////////////////////</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">N = 4;</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">n = 10000;</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US"> </span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">filters = list();</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US"> </span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">for i=1:n</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">  G=syslin('c', rand(N,N), rand(N,1),
                      rand(1,N), rand(1,1));</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">  filters($+1) = G;</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">end</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US"> </span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">tic();</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">save('filters.dat', filters);</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">ts1 = toc();</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US"> </span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">tic();</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">save('filters.dat', 'filters');</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">ts2 = toc();</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US"> </span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">printf("old save %.2fs\n", ts1);</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">printf("new save %.2fs\n", ts2);</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">printf("slowdown %.1f\n", ts2/ts1);</span><o:p></o:p></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:72.0pt"><span
                      style="font-family:"Courier New""
                      lang="EN-US">/////////////////////////////////</span><o:p></o:p></p>
                </blockquote>
                <p style="margin-left:72.0pt"> <o:p></o:p></p>
                <pre style="margin-left:72.0pt">-- <o:p></o:p></pre>
                <pre style="margin-left:72.0pt">+++++++++++++++++++++++++++++++++++++++++++++++++++++++<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> <o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> Antoine Monmayrant LAAS - CNRS<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> 7 avenue du Colonel Roche<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> BP 54200<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> 31031 TOULOUSE Cedex 4<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> FRANCE<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> <o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> <a href="Tel:+33" moz-do-not-send="true">Tel:+33</a> 5 61 33 64 59<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> <o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> email : <a href="mailto:antoine.monmayrant@laas.fr" moz-do-not-send="true">antoine.monmayrant@laas.fr</a><o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> permanent email : <a href="mailto:antoine.monmayrant@polytechnique.org" moz-do-not-send="true">antoine.monmayrant@polytechnique.org</a><o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> <o:p></o:p></pre>
                <pre style="margin-left:72.0pt">+++++++++++++++++++++++++++++++++++++++++++++++++++++++<o:p></o:p></pre>
                <pre style="margin-left:72.0pt"> <o:p></o:p></pre>
              </div>
            </blockquote>
            <p style="margin-left:36.0pt"> <o:p></o:p></p>
            <pre style="margin-left:36.0pt">-- <o:p></o:p></pre>
            <pre style="margin-left:36.0pt">+++++++++++++++++++++++++++++++++++++++++++++++++++++++<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> <o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> Antoine Monmayrant LAAS - CNRS<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> 7 avenue du Colonel Roche<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> BP 54200<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> 31031 TOULOUSE Cedex 4<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> FRANCE<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> <o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> <a href="Tel:+33" moz-do-not-send="true">Tel:+33</a> 5 61 33 64 59<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> <o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> email : <a href="mailto:antoine.monmayrant@laas.fr" moz-do-not-send="true">antoine.monmayrant@laas.fr</a><o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> permanent email : <a href="mailto:antoine.monmayrant@polytechnique.org" moz-do-not-send="true">antoine.monmayrant@polytechnique.org</a><o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> <o:p></o:p></pre>
            <pre style="margin-left:36.0pt">+++++++++++++++++++++++++++++++++++++++++++++++++++++++<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"> <o:p></o:p></pre>
            <p class="MsoNormal" style="margin-left:36.0pt"><br>
              <br>
              <br>
              <br>
              <o:p></o:p></p>
            <pre style="margin-left:36.0pt">_______________________________________________<o:p></o:p></pre>
            <pre style="margin-left:36.0pt">users mailing list<o:p></o:p></pre>
            <pre style="margin-left:36.0pt"><a href="mailto:users@lists.scilab.org" moz-do-not-send="true">users@lists.scilab.org</a><o:p></o:p></pre>
            <pre style="margin-left:36.0pt"><a href="https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users" moz-do-not-send="true">https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users</a><o:p></o:p></pre>
          </blockquote>
          <p style="margin-left:36.0pt"> <o:p></o:p></p>
          <pre style="margin-left:36.0pt">-- <o:p></o:p></pre>
          <pre style="margin-left:36.0pt">Stéphane Mottelet<o:p></o:p></pre>
          <pre style="margin-left:36.0pt">Ingénieur de recherche<o:p></o:p></pre>
          <pre style="margin-left:36.0pt">EA 4297 Transformations Intégrées de la Matière Renouvelable<o:p></o:p></pre>
          <pre style="margin-left:36.0pt">Département Génie des Procédés Industriels<o:p></o:p></pre>
          <pre style="margin-left:36.0pt">Sorbonne Universités - Université de Technologie de Compiègne<o:p></o:p></pre>
          <pre style="margin-left:36.0pt">CS 60319, 60203 Compiègne cedex<o:p></o:p></pre>
          <pre style="margin-left:36.0pt">Tel : +33(0)344234688<o:p></o:p></pre>
          <pre style="margin-left:36.0pt"><a href="http://www.utc.fr/%7Emottelet" moz-do-not-send="true">http://www.utc.fr/~mottelet</a><o:p></o:p></pre>
        </div>
      </div>
      <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>
    <p><br>
    </p>
    <pre class="moz-signature" cols="72">-- 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Antoine Monmayrant LAAS - CNRS
 7 avenue du Colonel Roche
 BP 54200
 31031 TOULOUSE Cedex 4
 FRANCE

 Tel:+33 5 61 33 64 59
 
 email : <a class="moz-txt-link-abbreviated" href="mailto:antoine.monmayrant@laas.fr">antoine.monmayrant@laas.fr</a>
 permanent email : <a class="moz-txt-link-abbreviated" href="mailto:antoine.monmayrant@polytechnique.org">antoine.monmayrant@polytechnique.org</a>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

</pre>
  </body>
</html>