# profile

extrai profiles (dossiês) de execução de uma função do Scilab

## Seqüência de Chamamento

    c=profile(fun)

## Parâmetro

fun

  função Scilab

c

  uma matriz nx3 contendo os profiles de execução

## Descrição

Para utilizar `profile` a função Scilab deve ter sido preparada para profiling (análise de desempenho) (ver exec).

Pata tal função, quando tal função é executada, o sistema conta quantas vezes cada linha foi executada e quanto tempo de cpu foi gasto para cada execução da linha. Estes dados são armazenados na estrutura de dados da função. A função profile permite extrair esses dados e retorná-los nas duas primeiras colunas de `c`. A terceira coluna de `c` fornece a medida do esforço do interpretador para a execução da linha correspondente. A i-ésima linha de `c` corresponde à i-ésima linha da função (inclusa primeiro)

Note que, devido à precisão do clock do processador (tipicamente, um microssegundo), algumas linhas executadas aparecem com tempo de execução 0, mesmo que o tempo de execução de cpu total realmente gasto seja grande.

## Exemplos

    //definindo a função e preparando-a para profiling
    deff('x=foo(n)',['if n==0 then'
                     '  x=[]'
                     'else'
                     '  x=0'
                     '  for k=1:n'
                     '    s=svd(rand(n+10,n+10))'
                     '    x=x+s(1)'
                     '  end'
                     'end'],'p')
    //chamando a função
    foo(10)
    //obtendo profiles de execução
    profile(foo)
    //chamando a função
    foo(20)
    profile(foo) //a execução de profiles é acumulada

## Ver Também

- exec
- deff
- plotprofile
- showprofile