annotate scripts/general/profexplore.m @ 14812:9d9eb9bac65e gui

Improved menu structure of file, edit and window menu. Removed ambiguous shortcuts, improved focus handling for operating the GUI with the keyboard. Added new shortcuts to focus subwindows directly. * files-dockwidget: Set focus proxy to the current directory line edit. * history-dockwidget: Set focus proxy to the inline search bar. * file-editor: Removed and improved shortcuts. * main-window: Added new slots for not only showing/hiding subwindows, but also for focussing them directly with Ctrl+0,1..4. Improved menu structure.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Thu, 28 Jun 2012 11:04:37 +0200
parents 7277fe922e99
children 9e613baf431e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 13929
diff changeset
1 ## Copyright (C) 2012 Daniel Kraft
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
2 ##
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
3 ## This file is part of Octave.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
4 ##
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
8 ## your option) any later version.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
9 ##
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
13 ## General Public License for more details.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
14 ##
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
18
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
19 ## -*- texinfo -*-
13929
9cae456085c2 Grammarcheck of documentation before 3.6.0 release.
Rik <octave@nomad.inbox5.com>
parents: 13191
diff changeset
20 ## @deftypefn {Function File} {} profexplore (@var{data})
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
21 ## Interactively explore hierarchical profiler output.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
22 ##
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
23 ## Assuming @var{data} is the structure with profile data returned by
14359
7277fe922e99 doc: Use Octave preference for double quote in docstrings in scripts/
Rik <octave@nomad.inbox5.com>
parents: 14222
diff changeset
24 ## @code{profile ("info")}, this command opens an interactive prompt
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
25 ## that can be used to explore the call-tree. Type @kbd{help} to get a list
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
26 ## of possible commands.
13191
c5ddb99ff5de Put @seealso in profiler functions' docstrings.
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 13189
diff changeset
27 ## @seealso{profile, profshow}
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
28 ## @end deftypefn
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
29
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
30 ## Built-in profiler.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
31 ## Author: Daniel Kraft <d@domob.eu>
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
32
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
33 function profexplore (data)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
34
14222
190952239c2c Use '!' for not operation in preference to '~'.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
35 if (nargin != 1)
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
36 print_usage ();
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
37 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
38
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
39 ## The actual work is done by a recursive worker function, since that
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
40 ## is an easy way to traverse the tree datastructure. Here, we just check
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
41 ## the arguments (already done) and give over to it.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
42
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
43 __profexplore_worker (data.FunctionTable, data.Hierarchical, "Top\n", " ");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
44
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
45 endfunction
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
46
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
47 ## This is the worker function. tree is the current subtree we want to
14359
7277fe922e99 doc: Use Octave preference for double quote in docstrings in scripts/
Rik <octave@nomad.inbox5.com>
parents: 14222
diff changeset
48 ## display / explore. parents is a string containing the already "rendered"
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
49 ## data for the parents which is displayed on top of the list of current
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
50 ## children. prefix is the prefix to add to each line rendered; this
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
51 ## is just a string of spaces to get indentation right.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
52 ##
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
53 ## Returning 0 indicates that the user requested to totally exit the
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
54 ## explorer, thus also all higher levels should exit immediately. An integer
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
55 ## greater zero indicates to exit that many levels since the user wants to go
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
56 ## up (but not necessarily quit).
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
57
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
58 function rv = __profexplore_worker (fcn_table, tree, parents, prefix)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
59
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
60 ## Sort children by total time.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
61 times = -[ tree.TotalTime ];
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
62 [~, p] = sort (times);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
63 tree = tree(p);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
64
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
65 while (true)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
66
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
67 printf ("\n%s", parents);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
68 strings = cell (length (tree), 1);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
69 for i = 1 : length (tree)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
70 strings{i} = sprintf ("%s: %d calls, %.3f total, %.3f self", ...
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
71 fcn_table(tree(i).Index).FunctionName, ...
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
72 tree(i).NumCalls, ...
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
73 tree(i).TotalTime, tree(i).SelfTime);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
74 printf ("%s%d) %s\n", prefix, i, strings{i});
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
75 endfor
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
76 printf ("\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
77
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
78 cmd = input ("profexplore> ", "s");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
79 option = fix (str2double (cmd));
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
80
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
81 if (strcmp (cmd, "exit"))
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
82 rv = 0;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
83 return;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
84 elseif (strcmp (cmd, "help"))
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
85 printf ("\nCommands for profile explorer:\n\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
86 printf ("exit Return to Octave prompt.\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
87 printf ("help Display this help message.\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
88 printf ("up [N] Go up N levels, where N is an integer. Default is 1.\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
89 printf ("N Go down a level into option N.\n");
14222
190952239c2c Use '!' for not operation in preference to '~'.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
90 elseif (! isnan (option))
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
91 if (option < 1 || option > length (tree))
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
92 printf ("The chosen option is out of range!\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
93 else
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
94 newParents = sprintf ("%s%s%s\n", parents, prefix, strings{option});
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
95 newPrefix = sprintf ("%s ", prefix);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
96
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
97 rv = __profexplore_worker (fcn_table, tree(option).Children, ...
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
98 newParents, newPrefix);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
99
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
100 if (rv == 0)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
101 return;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
102 elseif (rv > 1)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
103 rv = rv - 1;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
104 return;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
105 else
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
106 assert (rv == 1);
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
107 ## It was requested to return to this level, so just stay.
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
108 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
109 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
110 elseif (length (cmd) >= 2 && strcmp (substr (cmd, 1, 2), "up"))
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
111 if (length (cmd) == 2)
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
112 rv = 1;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
113 return;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
114 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
115
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
116 if (length (cmd) > 3 && cmd(3) == ' ')
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
117 opt = fix (str2double (substr (cmd, 3)));
14222
190952239c2c Use '!' for not operation in preference to '~'.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
118 if (! isnan (opt) && opt > 0)
13189
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
119 rv = opt;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
120 return;
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
121 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
122 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
123
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
124 printf ("Invalid 'up' command. Type 'help' for further");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
125 printf (" information.\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
126 else
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
127 printf ("Unrecognized input. Type 'help' to get a list of possible");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
128 printf (" commands.\n");
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
129 endif
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
130
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
131 endwhile
c5a8b23db680 New function 'profexplore' for interactive hierarchical profile exploration.
Daniel Kraft <d@domob.eu>
parents:
diff changeset
132 endfunction