* Bug #6638 - The profiler output is incorrect by a factor of 1000
[scilab.git] / scilab / modules / functions / help / pt_BR / profiling / profile.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) ????-2008 - INRIA
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  -->
13 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="profile" xml:lang="pt">
14     <refnamediv>
15         <refname>profile</refname>
16         <refpurpose>extrai profiles (dossiês) de execução de uma função do
17             Scilab
18         </refpurpose>
19     </refnamediv>
20     <refsynopsisdiv>
21         <title>Seqüência de Chamamento</title>
22         <synopsis>c=profile(fun)</synopsis>
23     </refsynopsisdiv>
24     <refsection>
25         <title>Parâmetro</title>
26         <variablelist>
27             <varlistentry>
28                 <term>fun</term>
29                 <listitem>
30                     <para>função Scilab</para>
31                 </listitem>
32             </varlistentry>
33             <varlistentry>
34                 <term>c</term>
35                 <listitem>
36                     <para>uma matriz nx3 contendo os profiles de execução</para>
37                 </listitem>
38             </varlistentry>
39         </variablelist>
40     </refsection>
41     <refsection>
42         <title>Descrição</title>
43         <para>
44             Para utilizar <literal>profile</literal> a função Scilab deve ter
45             sido preparada para profiling (análise de desempenho) (ver exec).
46         </para>
47         <para>Pata tal função, quando tal função é executada, o sistema conta
48             quantas vezes cada linha foi executada e quanto tempo de cpu foi gasto
49             para cada execução da linha. Estes dados são armazenados na estrutura de
50             dados da função. A função profile permite extrair esses dados e
51             retorná-los nas duas primeiras colunas de <literal>c</literal>. A terceira
52             coluna de <literal>c</literal> fornece a medida do esforço do
53             interpretador para a execução da linha correspondente. A i-ésima linha de
54             <literal>c</literal> corresponde à i-ésima linha da função (inclusa
55             primeiro)
56         </para>
57         <para>Note que, devido à precisão do clock do processador (tipicamente, um
58             microssegundo), algumas linhas executadas aparecem com tempo de execução
59             0, mesmo que o tempo de execução de cpu total realmente gasto seja
60             grande.
61         </para>
62     </refsection>
63     <refsection>
64         <title>Exemplos</title>
65         <programlisting role="example"><![CDATA[ 
66 //definindo a função e preparando-a para profiling
67 deff('x=foo(n)',['if n==0 then'
68                  '  x=[]'
69                  'else'
70                  '  x=0'
71                  '  for k=1:n'
72                  '    s=svd(rand(n+10,n+10))'
73                  '    x=x+s(1)'
74                  '  end'
75                  'end'],'p')
76 //chamando a função
77 foo(10)
78 //obtendo profiles de execução
79 profile(foo)
80 //chamando a função
81 foo(20)
82 profile(foo) //a execução de profiles é acumulada
83  ]]></programlisting>
84     </refsection>
85     <refsection role="see also">
86         <title>Ver Também</title>
87         <simplelist type="inline">
88             <member>
89                 <link linkend="exec">exec</link>
90             </member>
91             <member>
92                 <link linkend="deff">deff</link>
93             </member>
94             <member>
95                 <link linkend="plotprofile">plotprofile</link>
96             </member>
97             <member>
98                 <link linkend="showprofile">showprofile</link>
99             </member>
100         </simplelist>
101     </refsection>
102 </refentry>