![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Algorithm TuningBoost , Boost.Regex 5.1.2 , Configuration
|
макро |
описание |
---|---|
BOOST_REGEX_HAS_MS_STACK_GUARD |
Повышает скорость. Regex, что стиль Microsoft __try - __, за исключением блоков, поддерживается и может быть использован для безопасной ловушки переполнения стека. |
Следующие параметры применяются только в том случае, если установлен BOOST_REGEX_NON_RECURSIVE.
макро |
описание |
---|---|
BOOST_REGEX_BLOCKSIZE |
В нерекурсивном режиме, повышается. Regex использует большие блоки памяти, чтобы действовать как стек для машины состояния, чем больше размер блока, тем меньше распределений будет происходить. По умолчанию он составляет 4096 байт, что достаточно велико, чтобы соответствовать подавляющему большинству регулярных выражений без дополнительных распределений, однако вы можете выбирать меньшие или большие значения в зависимости от характеристик вашей платформы. |
BOOST_REGEX_MAX_BLOCKS |
Повышает скорость. Сколько блоков размера BOOST_REGEX_BLOCKSIZE разрешается использовать. Если это значение превышено, то увеличивается. Regex перестанет пытаться найти совпадение и бросит std::runtime_error. Не забудьте настроить это значение до 1024, если вы сильно измените BOOST_REGEX_BLOCKSIZE. |
BOOST_REGEX_MAX_CACHE_BLOCKS |
Повышает скорость. Регекс сколько блоков памяти хранить во внутреннем кэше - блоки памяти берутся из этого кэша, а не путем вызова::оператор новый. Вообще говоря, это может быть на порядок быстрее, чем вызов ::оператор новый каждый раз, когда блок памяти требуется, но имеет обратную сторону, что увеличить. Regex может в конечном итоге кэшировать большой кусок памяти (по умолчанию до 16 блоков каждого размера BOOST_REGEX_BLOCKSIZE). Если память плотная, попробуйте определить это до 0 (отключает все кэширование), или если это слишком медленно, тогда значение 1 или 2 может быть достаточным. С другой стороны, в больших многопроцессорных многопоточных системах вы можете обнаружить, что более высокое значение находится в порядке. |
Статья Algorithm Tuning раздела Boost.Regex 5.1.2 Configuration может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Configuration ::
реклама |