diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-06-01 22:05:46 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-06-01 22:05:46 +0000 |
commit | 5f85fcc11f9e1e06139af2794b23df4169dc86a1 (patch) | |
tree | 81ccd5fda67540ce93e166b82a7d9d48f043dda7 /doc | |
parent | 5c56ae7f810c1a323d1a3d0abdaec0c7e2a9227b (diff) | |
download | ruby-5f85fcc11f9e1e06139af2794b23df4169dc86a1.tar.gz |
* doc/re.rdoc (Performance): Replaced incorrect example of reducing
backtracking through anchoring with reduced backtracking through a
range. [ruby-trunk - Bug #6525]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'doc')
-rw-r--r-- | doc/re.rdoc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/doc/re.rdoc b/doc/re.rdoc index a357d5c323..5f49ae228d 100644 --- a/doc/re.rdoc +++ b/doc/re.rdoc @@ -640,9 +640,10 @@ repeatedly so as to satisfy as many of the optional matches as it can while still matching the mandatory 29. It is plain to us that none of the optional matches can succeed, but this fact unfortunately eludes Ruby. -One approach for improving performance is to anchor the match to the -beginning of the string, thus significantly reducing the amount of -backtracking needed. +The best way to improve performance is to significantly reduce the amount of +backtracking needed. For this case, instead of individually matching 29 +optional <i>a</i>s, a range of optional <i>a</i>s can be matched all at once +with <i>a{0,29}</i>: - Regexp.new('\A' 'a?' * 29 + 'a' * 29) =~ 'a' * 29 + Regexp.new('a{0,29}' + 'a' * 29) =~ 'a' * 29 |