Dear all,

Still about new Scilab 6 profiling capabilities:
The first so-called ""Basic example" given in the documentation of  the profiling features
@ https://help.scilab.org/docs/6.1.0/en_US/profile.html  is the following:

// Function to be profiled
function  x=foo(n)
  if  n   >  0  then
    x  =  0;
    for  k  =  1:n
      s  =  svd(rand(n,  n));
      x  =  x  +  s(1);
    end
  else
    x  =  [];
  end
endfunction

// Enables the profiling of the function
profileEnable(foo);

// Executes the function
foo(200);

// Returns the function profiling results
prof  =  profileGetInfo();

Now, after https://help.scilab.org/docs/6.1.0/en_US/profileGetInfo.html we can get
--> prof.LineCoverage(1)
 ans  =
  -1.     0.                                    // function ...
   1. 0.6385544 // if ... *Why so long time ??*
   1. 0.6385513 // x = 0;    638 ms for a single execution ??
   1. 0.6385467 // idem
   200.   1.2763477                 // OK, quite expected. The strange thing is that the "x=0" time is almost the half of this time..    200.   0.0005116                 // OK, a result more understandable than for x=0 above.
  -1.     0.                                   // OK (end for)
  -1.     0.                                   // OK (else)
   0.     0.                                    // OK : never met
  -1.     0.
  -1.     0.

Since it is presented as a basic example, it is likely error-proof.
So what am i missing about how to read or interpret these results ?

Thanks for any clarification. Without it, it quite hard to trust and use this important tool.
Best regards
Samuel Gougeon

_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to