<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Algorithm Tuning</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" 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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../configuration.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../install.html"><img src="../../../../../../doc/src/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 class="link" 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 &#169; 1998 -2010 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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../configuration.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../install.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
