annotate scripts/general/profshow.m @ 21633:dcf8922b724b

Deprecate printf, puts, and scanf. Make fputs a M-file. * libinterp/corefcn/file-io.cc: extracted printf, puts, and scanf to M-files. * scripts/deprecated/printf.m: new function, equivalent to version file-io.cc. * scripts/deprecated/puts.m: new function, equivalent to version file-io.cc. * scripts/deprecated/scanf.m: new function, equivalent to version file-io.cc. * scripts/deprecated/module.mk: added printf, puts, and scanf. * scripts/io/fputs.m: new function, equivalent to version file-io.cc. * scripts/io/module.mk: added fputs. * doc/interpreter/io.txi: adapted documentation to current implementation. * NEWS: announced changes. * doc/interpreter/basics.txi: replaced printf by fprintf. * doc/interpreter/stmt.txi: replaced printf by fprintf. * doc/interpreter/var.txi: replaced printf by fprintf. * doc/refcard/refcard.tex: removed printf and scanf. * examples/code/@FIRfilter/display.m: replaced printf by fprintf. * examples/code/@polynomial/display.m: replaced printf by fprintf. * scripts/@ftp/display.m: replaced printf by fprintf. * scripts/general/inputParser.m: replaced printf by fprintf. * scripts/general/methods.m: replaced printf by fprintf. * scripts/general/profexplore.m: replaced printf by fprintf. * scripts/general/profshow.m: replaced printf by fprintf. * scripts/help/help.m: replaced puts by fputs and printf by fprintf. * scripts/help/lookfor.m: replaced puts by fputs and printf by fprintf. * scripts/help/which.m: replaced printf by fprintf. * scripts/image/imformats.m: replaced printf by fprintf. * scripts/io/beep.m: replaced puts by fputs. * scripts/io/textread.m: replaced printf by fprintf. * scripts/java/javaclasspath.m: replaced printf by fprintf. * scripts/java/javamem.m: replaced printf by fprintf. * scripts/miscellaneous/dir.m: replaced printf by fprintf. * scripts/miscellaneous/dos.m: replaced printf by fprintf. * scripts/miscellaneous/fact.m: replaced printf by fprintf. * scripts/miscellaneous/info.m: replaced printf by fprintf. * scripts/miscellaneous/license.m: replaced printf by fprintf. * scripts/miscellaneous/ls.m: replaced puts by fputs. * scripts/miscellaneous/menu.m: replaced printf by fprintf. * scripts/miscellaneous/mkoctfile.m: replaced printf by fprintf. * scripts/miscellaneous/private/display_info_file.m: * scripts/miscellaneous/unix.m: replaced printf by fprintf. * scripts/miscellaneous/ver.m: replaced printf by fprintf. * scripts/miscellaneous/what.m: replaced printf by fprintf. * scripts/ode/ode23.m: replaced printf by fprintf. * scripts/ode/ode45.m: replaced printf by fprintf. * scripts/optimization/fminbnd.m: replaced printf by fprintf. * scripts/optimization/optimset.m: replaced puts by fputs and printf by fprintf. * scripts/optimization/sqp.m: replaced printf by fprintf. * scripts/pkg/pkg.m: replaced printf by fprintf. * scripts/pkg/private/describe.m: replaced printf by fprintf. * scripts/pkg/private/install.m: replaced printf by fprintf. * scripts/pkg/private/installed_packages.m: replaced printf by fprintf. * scripts/pkg/private/list_forge_packages.m: replaced puts by fputs and printf by fprintf. * scripts/pkg/private/rebuild.m: replaced printf by fprintf. * scripts/plot/util/__gnuplot_drawnow__.m: replaced puts by fputs and printf by fprintf. * scripts/signal/stft.m: replaced printf by fprintf. * scripts/sparse/bicg.m: replaced printf by fprintf. * scripts/sparse/bicgstab.m: replaced printf by fprintf. * scripts/sparse/cgs.m: replaced printf by fprintf. * scripts/sparse/pcg.m: replaced printf by fprintf. * scripts/sparse/pcr.m: replaced printf by fprintf. * scripts/sparse/qmr.m: replaced printf by fprintf. * scripts/statistics/models/logistic_regression.m: replaced printf by fprintf. * scripts/statistics/tests/anova.m: replaced printf by fprintf. * scripts/statistics/tests/bartlett_test.m: replaced printf by fprintf. * scripts/statistics/tests/chisquare_test_homogeneity.m: replaced printf by fprintf. * scripts/statistics/tests/chisquare_test_independence.m: replaced printf by fprintf. * scripts/statistics/tests/cor_test.m: replaced printf by fprintf. * scripts/statistics/tests/f_test_regression.m: replaced printf by fprintf. * scripts/statistics/tests/hotelling_test.m: replaced printf by fprintf. * scripts/statistics/tests/hotelling_test_2.m: replaced printf by fprintf. * scripts/statistics/tests/kolmogorov_smirnov_test.m: replaced printf by fprintf. * scripts/statistics/tests/kolmogorov_smirnov_test_2.m: replaced printf by fprintf. * scripts/statistics/tests/kruskal_wallis_test.m: replaced printf by fprintf. * scripts/statistics/tests/manova.m: replaced printf by fprintf. * scripts/statistics/tests/mcnemar_test.m: replaced printf by fprintf. * scripts/statistics/tests/prop_test_2.m: replaced printf by fprintf. * scripts/statistics/tests/run_test.m: replaced printf by fprintf. * scripts/statistics/tests/sign_test.m: replaced printf by fprintf. * scripts/statistics/tests/t_test.m: replaced printf by fprintf. * scripts/statistics/tests/t_test_2.m: replaced printf by fprintf. * scripts/statistics/tests/t_test_regression.m: replaced printf by fprintf. * scripts/statistics/tests/u_test.m: replaced printf by fprintf. * scripts/statistics/tests/var_test.m: replaced printf by fprintf. * scripts/statistics/tests/welch_test.m: replaced printf by fprintf. * scripts/statistics/tests/wilcoxon_test.m: replaced printf by fprintf. * scripts/statistics/tests/z_test.m: replaced printf by fprintf. * scripts/statistics/tests/z_test_2.m: replaced printf by fprintf. * scripts/strings/strtok.m: replaced printf by fprintf. * scripts/testfun/__run_test_suite__.m: replaced puts by fputs and printf by fprintf. * scripts/testfun/demo.m: replaced printf by fprintf. * scripts/testfun/example.m: replaced printf by fprintf. * scripts/testfun/private/compare_plot_demos.m: replaced printf by fprintf. * scripts/testfun/rundemos.m: replaced printf by fprintf. * scripts/testfun/runtests.m: replaced puts by fputs and printf by fprintf. * scripts/testfun/speed.m: replaced printf by fprintf. * scripts/testfun/test.m: replaced printf by fprintf. * scripts/time/calendar.m: replaced puts by fputs and printf by fprintf. * test/io.tst: replaced printf by fprintf.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Wed, 20 Apr 2016 17:53:10 +0200
parents 516bb87ea72e
children 96518f623c91
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18743
be0978e94806 Add column with time percentage to profshow output.
Daniel Kraft <d@domob.eu>
parents: 17744
diff changeset
1 ## Copyright (C) 2012-2014 Daniel Kraft
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
2 ##
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
3 ## This file is part of Octave.
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
4 ##
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
8 ## your option) any later version.
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
9 ##
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
13 ## General Public License for more details.
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
14 ##
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
18
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
19 ## -*- texinfo -*-
20852
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 18758
diff changeset
20 ## @deftypefn {} {} profshow (@var{data})
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 18758
diff changeset
21 ## @deftypefnx {} {} profshow (@var{data}, @var{n})
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 18758
diff changeset
22 ## @deftypefnx {} {} profshow ()
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 18758
diff changeset
23 ## @deftypefnx {} {} profshow (@var{n})
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
24 ## Display flat per-function profiler results.
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
25 ##
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
26 ## Print out profiler data (execution time, number of calls) for the most
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
27 ## critical @var{n} functions. The results are sorted in descending order by
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
28 ## the total time spent in each function. If @var{n} is unspecified it
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
29 ## defaults to 20.
12887
ca5c1115b679 Show recursive-flag of functions in profshow.
Daniel Kraft <d@domob.eu>
parents: 12872
diff changeset
30 ##
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
31 ## The input @var{data} is the structure returned by @code{profile ("info")}.
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
32 ## If unspecified, @code{profshow} will use the current profile dataset.
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
33 ##
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
34 ## The attribute column displays @samp{R} for recursive functions, and is blank
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
35 ## for all other function types.
13191
c5ddb99ff5de Put @seealso in profiler functions' docstrings.
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 13141
diff changeset
36 ## @seealso{profexplore, profile}
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
37 ## @end deftypefn
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
38
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
39 ## Built-in profiler.
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
40 ## Author: Daniel Kraft <d@domob.eu>
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
41
12872
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
42 function profshow (data, n = 20)
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
43
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
44 if (nargin > 2)
12872
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
45 print_usage ();
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
46 endif
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
47
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
48 if (nargin == 0)
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
49 data = profile ("info");
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
50 elseif (nargin == 1 && ! isstruct (data))
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
51 n = data;
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
52 data = profile ("info");
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
53 endif
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
54
12872
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
55 n = fix (n);
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
56 if (! isscalar (n) || ! isreal (n) || ! (n > 0))
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13056
diff changeset
57 error ("profile: N must be a positive integer");
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
58 endif
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
59
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
60 m = length (data.FunctionTable);
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
61 n = min (n, m);
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
62
12872
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
63 ## We want to sort by times in descending order. For this, extract the
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
64 ## times to an array, then sort this, and use the resulting index permutation
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
65 ## to print out our table.
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
66 times = [ data.FunctionTable.TotalTime ];
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
67 totalTime = sum (times);
12872
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
68
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
69 [~, p] = sort (times, "descend");
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
70
12872
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
71 ## For printing the table, find out the maximum length of a function name
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
72 ## so that we can proportion the table accordingly. Based on this,
031e1a2c26f3 Vectorize and use Octave coding conventions for profile script files
Rik <octave@nomad.inbox5.com>
parents: 12871
diff changeset
73 ## we can build the format used for printing table rows.
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
74 nameLen = max (length ("Function"),
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
75 columns (char (data.FunctionTable(p(1:n)).FunctionName)));
18743
be0978e94806 Add column with time percentage to profshow output.
Daniel Kraft <d@domob.eu>
parents: 17744
diff changeset
76 headerFormat = sprintf ("%%4s %%%ds %%4s %%12s %%10s %%12s\n", nameLen);
be0978e94806 Add column with time percentage to profshow output.
Daniel Kraft <d@domob.eu>
parents: 17744
diff changeset
77 rowFormat = sprintf ("%%4d %%%ds %%4s %%12.3f %%10.2f %%12d\n", nameLen);
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
78
21633
dcf8922b724b Deprecate printf, puts, and scanf. Make fputs a M-file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 20852
diff changeset
79 fprintf (headerFormat, ...
18743
be0978e94806 Add column with time percentage to profshow output.
Daniel Kraft <d@domob.eu>
parents: 17744
diff changeset
80 "#", "Function", "Attr", "Time (s)", "Time (%)", "Calls");
21633
dcf8922b724b Deprecate printf, puts, and scanf. Make fputs a M-file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 20852
diff changeset
81 fprintf ("%s\n", repmat ("-", 1, nameLen + 2 * 5 + 11 + 2 * 13));
18758
6d14aa793e0a profshow.m: Use current profiler data if there is no input data.
Rik <rik@octave.org>
parents: 18743
diff changeset
82
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
83 for i = 1 : n
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
84 row = data.FunctionTable(p(i));
18743
be0978e94806 Add column with time percentage to profshow output.
Daniel Kraft <d@domob.eu>
parents: 17744
diff changeset
85 timePercent = 100 * row.TotalTime / totalTime;
12889
dae596be0571 profshow.m: Change Matlab-style single quotes to Octave-style double quotes
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 12887
diff changeset
86 attr = "";
12887
ca5c1115b679 Show recursive-flag of functions in profshow.
Daniel Kraft <d@domob.eu>
parents: 12872
diff changeset
87 if (row.IsRecursive)
12889
dae596be0571 profshow.m: Change Matlab-style single quotes to Octave-style double quotes
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 12887
diff changeset
88 attr = "R";
12887
ca5c1115b679 Show recursive-flag of functions in profshow.
Daniel Kraft <d@domob.eu>
parents: 12872
diff changeset
89 endif
21633
dcf8922b724b Deprecate printf, puts, and scanf. Make fputs a M-file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 20852
diff changeset
90 fprintf (rowFormat, p(i), row.FunctionName, attr,
18743
be0978e94806 Add column with time percentage to profshow output.
Daniel Kraft <d@domob.eu>
parents: 17744
diff changeset
91 row.TotalTime, timePercent, row.NumCalls);
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
92 endfor
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
93
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
94 endfunction
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
95
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
96
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
97 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
98 %! profile on;
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
99 %! A = rand (100);
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
100 %! B = expm (A);
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
101 %! profile off;
12889
dae596be0571 profshow.m: Change Matlab-style single quotes to Octave-style double quotes
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 12887
diff changeset
102 %! T = profile ("info");
12871
23377c46516b Implement the profshow function to print profiler results.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
103 %! profshow (T, 10);
12887
ca5c1115b679 Show recursive-flag of functions in profshow.
Daniel Kraft <d@domob.eu>
parents: 12872
diff changeset
104
ca5c1115b679 Show recursive-flag of functions in profshow.
Daniel Kraft <d@domob.eu>
parents: 12872
diff changeset
105 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
106 %! profile on;
13837
2c80bbd87f5d don't define functions in test and demo blocks
John W. Eaton <jwe@octave.org>
parents: 13191
diff changeset
107 %! expm (rand (500) + eye (500));
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
108 %! profile off;
12889
dae596be0571 profshow.m: Change Matlab-style single quotes to Octave-style double quotes
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 12887
diff changeset
109 %! profshow (profile ("info"), 5);
13056
66662c033301 codesprint: tests or profshow
John W. Eaton <jwe@octave.org>
parents: 12977
diff changeset
110
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14359
diff changeset
111 %!error profshow (1, 2, 3)
14405
7d5a653825b9 profshow.m: Add more input validation tests
Rik <octave@nomad.inbox5.com>
parents: 14363
diff changeset
112 %!error <N must be a positive integer> profshow (struct (), ones (2))
7d5a653825b9 profshow.m: Add more input validation tests
Rik <octave@nomad.inbox5.com>
parents: 14363
diff changeset
113 %!error <N must be a positive integer> profshow (struct (), 1+i)
7d5a653825b9 profshow.m: Add more input validation tests
Rik <octave@nomad.inbox5.com>
parents: 14363
diff changeset
114 %!error <N must be a positive integer> profshow (struct (), -1)
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
115