diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2010-03-07 12:05:20 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2010-03-07 12:05:20 +0000 |
commit | 6413b089ecc41c087743ea779015d9a1fc4bc9c6 (patch) | |
tree | 8693a12eaea6bc2729a2653bd9d4a1ee3dcd0a77 | |
parent | 86c2bb189a273c60fd06a118b2a8c9413996c357 (diff) | |
download | pcre-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.3 | 28 |
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 |