<< plotprofile profiling remove_profiling >>
removed >> removed > 5-5-2 > profiling > profile

profile

Renvoie les résultats du profiling d'une fonction

Séquence d'appel

c = profile(fun)

Paramètres

fun

une fonction Scilab

c

une matrice nx3 contenant les résultats de profiling :

  • c(i,1) : nombre de fois que la ligne i de la fonction a été executée

  • c(i,2) : temps CPU cumulé [en secondes] passé pour exécuter la ligne i de la fonction

  • c(i,3) : mesure de l'effort de l'interpréteur sur la ligne i de la fonction [unité arbitraire]

Description

Pour utiliser profile sur une fonction, le profiling de la fonction doit d'abord avoir été activé:

Une fois que la function a été exécutée, l'appel de profile renvoie une matrice, où chaque ligne contient les résultats de profiling de la ligne correspondante de la fonction (en comptant la ligne d'entête), c'est à dire le nombre de passages, ou le temps total passé par le CPU dans cette ligne, et une mesure de l'effort de l'interpréteur pour interpréter la ligne, comme suit:

Nombre d'appels Temps total CPU (s) Effort interpréteur
1 0 0
300 0.1 0
300 3,59 5
... ... ...

Ici nous pouvons voir que la 3ème ligne de la fonction a été appelée 300 fois pour un temps total CPU de 3,59 secondes.

En raison de la limite de précision de mesure de temps CPU (en général une micro seconde), certaines lignes dont l'exécution est très rapide peuvent apparaitre avec un temps CPU cumulé à 0.

Exemples

// Fonction qui est profilée
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

// Active le profiling de la fonction
add_profiling("foo");

// Exécute la fonction
foo(200);

// Renvoie les résultats de profiling de la fonction
profile(foo)

Voir aussi

Historique

VersionDescription
5.5.2 profile a été supprimée après Scilab 5.5.2.

<< plotprofile profiling remove_profiling >>