Files
regex/doc/html/boost_regex/configuration/tuning.html
John Maddock 546dd9f6fb Fixes #1940.
[SVN r47795]
2008-07-25 09:28:01 +00:00

155 lines
6.1 KiB
HTML
Raw Blame History

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Algorithm Tuning</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../../index.html" title="Boost.Regex">
<link rel="up" href="../configuration.html" title="Configuration">
<link rel="prev" href="algorithm.html" title="Algorithm Selection">
<link rel="next" href="../install.html" title="Building and Installing the Library">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../configuration.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../install.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_regex.configuration.tuning"></a><a href="tuning.html" title="Algorithm Tuning"> Algorithm Tuning</a>
</h3></div></div></div>
<p>
The following option applies only if BOOST_REGEX_RECURSIVE is set.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
macro
</p>
</th>
<th>
<p>
description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
BOOST_REGEX_HAS_MS_STACK_GUARD
</p>
</td>
<td>
<p>
Tells Boost.Regex that Microsoft style __try - __except blocks are
supported, and can be used to safely trap stack overflow.
</p>
</td>
</tr></tbody>
</table></div>
<p>
The following options apply only if BOOST_REGEX_NON_RECURSIVE is set.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
macro
</p>
</th>
<th>
<p>
description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
BOOST_REGEX_BLOCKSIZE
</p>
</td>
<td>
<p>
In non-recursive mode, Boost.Regex uses largish blocks of memory
to act as a stack for the state machine, the larger the block size
then the fewer allocations that will take place. This defaults to
4096 bytes, which is large enough to match the vast majority of regular
expressions without further allocations, however, you can choose
smaller or larger values depending upon your platforms characteristics.
</p>
</td>
</tr>
<tr>
<td>
<p>
BOOST_REGEX_MAX_BLOCKS
</p>
</td>
<td>
<p>
Tells Boost.Regex how many blocks of size BOOST_REGEX_BLOCKSIZE it
is permitted to use. If this value is exceeded then Boost.Regex will
stop trying to find a match and throw a std::runtime_error. Defaults
to 1024, don't forget to tweek this value if you alter BOOST_REGEX_BLOCKSIZE
by much.
</p>
</td>
</tr>
<tr>
<td>
<p>
BOOST_REGEX_MAX_CACHE_BLOCKS
</p>
</td>
<td>
<p>
Tells Boost.Regex how many memory blocks to store in it's internal
cache - memory blocks are taken from this cache rather than by calling
::operator new. Generally speeking this can be an order of magnitude
faster than calling ::opertator new each time a memory block is required,
but has the downside that Boost.Regex can end up caching a large
chunk of memory (by default up to 16 blocks each of BOOST_REGEX_BLOCKSIZE
size). If memory is tight then try defining this to 0 (disables all
caching), or if that is too slow, then a value of 1 or 2, may be
sufficient. On the other hand, on large multi-processor, multi-threaded
systems, you may find that a higher value is in order.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 1998 -2007 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../configuration.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../install.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>