summaryrefslogtreecommitdiff
path: root/docsrc/xlisp/xlisp-doc/reference/profile.htm
diff options
context:
space:
mode:
Diffstat (limited to 'docsrc/xlisp/xlisp-doc/reference/profile.htm')
-rw-r--r--docsrc/xlisp/xlisp-doc/reference/profile.htm85
1 files changed, 85 insertions, 0 deletions
diff --git a/docsrc/xlisp/xlisp-doc/reference/profile.htm b/docsrc/xlisp/xlisp-doc/reference/profile.htm
new file mode 100644
index 0000000..0c3cf6a
--- /dev/null
+++ b/docsrc/xlisp/xlisp-doc/reference/profile.htm
@@ -0,0 +1,85 @@
+<html><head>
+
+<title>Profiling</title>
+
+<link rel="stylesheet" type="text/css" href="reference.css">
+
+</head>
+
+<body>
+
+<a href="../start.htm">Nyquist / XLISP 2.0</a>&nbsp; -&nbsp;
+<a href="../manual/contents.htm">Contents</a> |
+<a href="../tutorials/tutorials.htm">Tutorials</a> |
+<a href="../examples/examples.htm">Examples</a> |
+<a href="reference-index.htm">Reference</a>
+
+<hr>
+
+<h1>profile</h1>
+
+<hr>
+
+<p><table cellpadding="0" cellspacing="0" style="margin-left:10px"><tbody>
+<tr valign="top">
+ <td><nobr>Type:</nobr></td>
+ <td><nobr>&nbsp;&nbsp;-&nbsp;&nbsp;</nobr></td>
+ <td width="100%"><nobr>function (subr)</nobr></td>
+</tr>
+<tr valign="top">
+ <td><nobr>Source:</nobr></td>
+ <td><nobr>&nbsp;&nbsp;-&nbsp;&nbsp;</nobr></td>
+ <td width="100%"><nobr>xlsys.c, xleval.c</nobr></td>
+</tr>
+</tbody></table></p>
+
+<h2>Syntax</h2>
+
+<a name="profile"></a>
+
+<p><div class="box">
+
+<dl>
+<dt>(<b>profile</b> <i>flag</i>) - turn profiling on or off</dt>
+<dd><i>flag</i> - NIL turns profiling off, otherwise on<br>
+returns - the previous state of profiling</dd>
+</dl>
+
+</div></p>
+
+<h2>Description</h2>
+
+<p>The <nobr>Xlisp 2.0</nobr> release has been extended with a profiling
+facility, which counts how many times and where <a href="eval.htm">eval</a>
+is executed. <nobr>A separate</nobr> count is maintained for each named
+function, closure, or macro, and a count indicates an
+<a href="eval.htm">eval</a> in the immediately [lexically] enclosing named
+function, closure, or macro. Thus, the count gives an indication of the
+amount of time spent in a function, not counting nested function calls.</p>
+
+<p>The list of all functions executed is maintained on the global *profile*
+variable. These functions in turn have *profile* properties, which maintain
+the counts. The profile system merely increments counters and puts symbols
+on the *profile* list. <nobr>It is</nobr> up to the user to initialize data
+and gather results. Profiling is turned on or off with the 'profile'
+function.</p>
+
+<p>Unfortunately, methods cannot be profiled with this facility.</p>
+
+<h2>Examples</h2>
+
+<pre class="example">
+
+</pre>
+
+<p><nobr>&nbsp;&nbsp;<a href="#top">Back to top</a></nobr></p>
+
+<hr>
+
+<a href="../start.htm">Nyquist / XLISP 2.0</a>&nbsp; -&nbsp;
+<a href="../manual/contents.htm">Contents</a> |
+<a href="../tutorials/tutorials.htm">Tutorials</a> |
+<a href="../examples/examples.htm">Examples</a> |
+<a href="reference-index.htm">Reference</a>
+
+</body></html>