/usr/share/doc/redet-doc/Manual/speed.html is in redet-doc 8.26-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<!--Time-stamp: <2006-02-25 13:26:09 poser> -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META NAME="Author" CONTENT="Bill Poser">
<TITLE>Redet Reference Manual: Speed</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFE2C0" VLINK="#0000EE" LINK="#AA0066" ALINK="#FF0000">
<H2><a name="speed">Speed</a></H2>
<P>
The time needed for a particular operation depends on the
amount of test data, the regular expression, and the program
used to execute the regular expression.
</p>
<p>
Here are some rather dated timings of some the programs supported.
The times are the number of seconds reported by Tcl's
<i>clock</i> command for the execution of the 180
tests then in the test suite. Current times will generally
be longer as there are now 464 tests in the test suite, though
in some cases I have found ways to speed up execution. In the
absence of a more recent set of benchmarks, these still give
a good idea of the relative time that each program takes.
</p>
<center>
<table border="3" cellpadding="4" cellspacing="5" width="200">
<tr><td>agrep</td><td align="right">1</td></tr>
<tr><td>awk</td><td align="right">1</td></tr>
<tr><td>ed</td><td align="right">1</td></tr>
<tr><td>tcl</td><td align="right">1</td></tr>
<tr><td>tclglob</td><td align="right">1</td></tr>
<tr><td>grep</td><td align="right">1</td></tr>
<tr><td>lua</td><td align="right">1</td></tr>
<tr><td>gawk</td><td align="right">1</td></tr>
<tr><td>sed</td><td align="right">1</td></tr>
<tr><td>mawk</td><td align="right">1</td></tr>
<tr><td>nawk</td><td align="right">2</td></tr>
<tr><td>egrep</td><td align="right">3</td></tr>
<tr><td>fgrep</td><td align="right">3</td></tr>
<tr><td>javascript</td><td align="right">3</td></tr>
<tr><td>ruby</td><td align="right">4</td></tr>
<tr><td>euphoria</td><td align="right">4</td></tr>
<tr><td>icon</td><td align="right">6</td></tr>
<tr><td>guile</td><td align="right">7</td></tr>
<tr><td>python</td><td align="right">8</td></tr>
<tr><td>rebol</td><td align="right">9</td></tr>
<tr><td>emacs</td><td align="right">15</td></tr>
<tr><td>perl</td><td align="right">16</td></tr>
<tr><td>pike</td><td align="right">35</td></tr>
<tr><td>java</td><td align="right">37</td></tr>
</table>
</center>
<p>
The execution of regular expressions by shells is comparatively
slow because the test data cannot be supplied directly to the shells
since they do not match regular expressions to data in files or
on the command line but rather to the files in a directory.
As a result, regular expression matching by shells is implemented
by creating files whose names are the items of test data
in a temporary directory, then executing the shell with the
test directory as its current working directory.
This means that quite a few child processes must be executed.
</P>
<P>
Note that the time for execution of the test suite is heavily
influenced by compilation and setup time since the
tests involve very small amounts of data. A program
whose invocation is slow may be fast at processing
a large amount of data. Pike, for example, is slow at
compilation and startup but fast at regular expression matching
itself.
</p>
<br>
<center><a href="limits.html">Next</a></center>
<br>
<center><a href="Manual.html">Back to Table of Contents</a></center>
</body>
</html>
|