summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2010-03-07 12:05:20 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2010-03-07 12:05:20 +0000
commit6413b089ecc41c087743ea779015d9a1fc4bc9c6 (patch)
tree8693a12eaea6bc2729a2653bd9d4a1ee3dcd0a77
parent86c2bb189a273c60fd06a118b2a8c9413996c357 (diff)
downloadpcre-6413b089ecc41c087743ea779015d9a1fc4bc9c6.tar.gz
Add crossreference from pcreperform to pcrestack.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@502 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r--doc/pcreperform.328
1 files changed, 22 insertions, 6 deletions
diff --git a/doc/pcreperform.3 b/doc/pcreperform.3
index 915f7b7..59b63b8 100644
--- a/doc/pcreperform.3
+++ b/doc/pcreperform.3
@@ -8,14 +8,15 @@ Two aspects of performance are discussed below: memory usage and processing
time. The way you express your pattern as a regular expression can affect both
of them.
.
-.SH "MEMORY USAGE"
+.SH "COMPILED PATTERN MEMORY USAGE"
.rs
.sp
Patterns are compiled by PCRE into a reasonably efficient byte code, so that
most simple patterns do not use much memory. However, there is one case where
-memory usage can be unexpectedly large. When a parenthesized subpattern has a
-quantifier with a minimum greater than 1 and/or a limited maximum, the whole
-subpattern is repeated in the compiled code. For example, the pattern
+the memory usage of a compiled pattern can be unexpectedly large. If a
+parenthesized subpattern has a quantifier with a minimum greater than 1 and/or
+a limited maximum, the whole subpattern is repeated in the compiled code. For
+example, the pattern
.sp
(abc|def){2,4}
.sp
@@ -63,6 +64,21 @@ pattern. Nevertheless, if the atomic grouping is not a problem and the loss of
speed is acceptable, this kind of rewriting will allow you to process patterns
that PCRE cannot otherwise handle.
.
+.
+.SH "STACK USAGE AT RUN TIME"
+.rs
+.sp
+When \fBpcre_exec()\fP is used for matching, certain kinds of pattern can cause
+it to use large amounts of the process stack. In some environments the default
+process stack is quite small, and if it runs out the result is often SIGSEGV.
+This issue is probably the most frequently raised problem with PCRE. Rewriting
+your pattern can often help. The
+.\" HREF
+\fBpcrestack\fP
+.\"
+documentation discusses this issue in detail.
+.
+.
.SH "PROCESSING TIME"
.rs
.sp
@@ -148,6 +164,6 @@ Cambridge CB2 3QH, England.
.rs
.sp
.nf
-Last updated: 06 March 2007
-Copyright (c) 1997-2007 University of Cambridge.
+Last updated: 07 March 2010
+Copyright (c) 1997-2010 University of Cambridge.
.fi