* Fixed adaptive pool bugs

* Improved adaptive pool testing enabling invariant checking in debug mode.
* New compile-time and runtime calculated parameters for adaptive_pool.
* New test comparing set with default allocator or adaptive pool
This commit is contained in:
Ion Gaztañaga
2018-04-29 12:42:04 +02:00
parent 42c6be5887
commit 04b0791593
9 changed files with 1398 additions and 512 deletions
+10 -4
View File
@@ -7,6 +7,10 @@
// See http://www.boost.org/libs/container for documentation.
//
//////////////////////////////////////////////////////////////////////////////
//Enable checks in debug mode
#ifndef NDEBUG
#define BOOST_CONTAINER_ADAPTIVE_NODE_POOL_CHECK_INVARIANTS
#endif
#ifdef _MSC_VER
#pragma warning (disable : 4512)
@@ -273,12 +277,14 @@ int main(int argc, const char *argv[])
#endif
std::size_t numele [] = { 10000, 1000, 100, 10, 5, 2, 1 };
#else
#ifdef NDEBUG
std::size_t numrep [] = { 150000 };
#ifdef BOOST_CONTAINER_ADAPTIVE_NODE_POOL_CHECK_INVARIANTS
std::size_t numrep[] = { 1000 };
#elif defined(NDEBUG)
std::size_t numrep [] = { 15000 };
#else
std::size_t numrep [] = { 10000 };
std::size_t numrep [] = { 1000 };
#endif
std::size_t numele [] = { 10 };
std::size_t numele [] = { 100 };
#endif
bool csv_output = argc == 2 && (strcmp(argv[1], "--csv-output") == 0);