forked from boostorg/regex
Finally fixed non-recursive algorithm - should now be fully usable, and is now emabled by default on non-win32 platforms.
Fixed a couple of buglets in the regex comparison benchmarks. [SVN r18191]
This commit is contained in:
@ -438,12 +438,6 @@ void raise_error(const traits& t, unsigned code)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef BOOST_REGEX_NON_RECURSIVE
|
|
||||||
// non-recursive mode is currently too fragile to
|
|
||||||
// auto-select, this will be removed before release:
|
|
||||||
# define BOOST_REGEX_RECURSIVE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE)
|
#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE)
|
||||||
# ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
|
# ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||||
# define BOOST_REGEX_RECURSIVE
|
# define BOOST_REGEX_RECURSIVE
|
||||||
|
@ -80,6 +80,7 @@ struct mem_block_cache
|
|||||||
mem_block_node* old = static_cast<mem_block_node*>(p);
|
mem_block_node* old = static_cast<mem_block_node*>(p);
|
||||||
old->next = next;
|
old->next = next;
|
||||||
next = old;
|
next = old;
|
||||||
|
++cached_blocks;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -57,7 +57,8 @@ struct results
|
|||||||
std::string expression;
|
std::string expression;
|
||||||
std::string description;
|
std::string description;
|
||||||
results(const std::string& ex, const std::string& desc)
|
results(const std::string& ex, const std::string& desc)
|
||||||
: boost_time(-1),
|
: boost_time(-1),
|
||||||
|
localised_boost_time(-1),
|
||||||
greta_time(-1),
|
greta_time(-1),
|
||||||
safe_greta_time(-1),
|
safe_greta_time(-1),
|
||||||
posix_time(-1),
|
posix_time(-1),
|
||||||
@ -70,6 +71,8 @@ struct results
|
|||||||
{
|
{
|
||||||
if((boost_time >= 0) && (boost_time < factor))
|
if((boost_time >= 0) && (boost_time < factor))
|
||||||
factor = boost_time;
|
factor = boost_time;
|
||||||
|
if((localised_boost_time >= 0) && (localised_boost_time < factor))
|
||||||
|
factor = localised_boost_time;
|
||||||
if((greta_time >= 0) && (greta_time < factor))
|
if((greta_time >= 0) && (greta_time < factor))
|
||||||
factor = greta_time;
|
factor = greta_time;
|
||||||
if((safe_greta_time >= 0) && (safe_greta_time < factor))
|
if((safe_greta_time >= 0) && (safe_greta_time < factor))
|
||||||
@ -78,8 +81,6 @@ struct results
|
|||||||
factor = posix_time;
|
factor = posix_time;
|
||||||
if((pcre_time >= 0) && (pcre_time < factor))
|
if((pcre_time >= 0) && (pcre_time < factor))
|
||||||
factor = pcre_time;
|
factor = pcre_time;
|
||||||
if((factor >= 0) && (factor < factor))
|
|
||||||
factor = factor;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user