Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.1 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.

Scilab Help >> Advanced functions > profiling > plotprofile

plotprofile

Displays the profiling charts of a function

Calling Sequence

plotprofile(fun)

Arguments

fun

a Scilab compiled function, or a function name (string), or an array of function names

Description

To use plotprofile on a function, the profiling of this function must have been first activated:

  • either by using the add_profiling command.

  • or if the function has beed defined with the deff command, by setting the optional argument of deff to "p".

Once the function has been executed, calling plotprofile displays two windows, one containing the source code of the function, and a second one containing three histograms which show:

  • the number of calls of each line

  • the total CPU time spent on each line (in seconds)

  • a measure of effort to interpret each line (arbitrary unit)

When clicking on a histogram bin, the related line is highlighted in the source code window.

Note: "Exit" item is used to exit from the "plotprofile" graphics window.

Examples

// Exemple of profiling a function
function foo()
  runs = 50;
  b = 0;
  for i = 1:runs
      b = zeros(220, 220);
      for j = 1:220
           for k = 1:220
               b(k,j) = abs(j - k) + 1;
           end
      end
  end
endfunction

// Enables the profiling of the function
add_profiling("foo");

// Executes the function
foo();

// Displays the profiling charts
plotprofile(foo) // click on Exit to exit
// Exemple of profiling a function defined with deff
deff('x = foo2(n)', ['if n > 0 then'
                    '  x = 0;'
                    '  for k = 1:n'
                    '    s = svd(rand(n, n));'
                    '    x = x + s(1);'
                    '  end'
                    'else'
                    '  x = [];'
                    'end'], ..
                 'p');

// Executes the function
foo2(200);

// Displays the profiling charts
plotprofile("foo2") // click on Exit to exit

See Also

  • add_profiling — Enables the profiling of a function
  • profile — Returns the profiling results of a function
  • showprofile — Outputs the function profiling results to the console
  • reset_profiling — Resets profiling counters of a function.
Report an issue
<< add_profiling profiling profile >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:47:02 CEST 2014