// Version 4.0.20140914
// Last update 2014-10-01
//
namespace FastCpp
{
// BTreeArray - open source portable C++ source library.
// The BTreeArray is sequence container representing array that can change in size.
// This container is optimized for insert and delete operations.
// Internally it are implemented as BTree structure,
// but externally it has the interface of array (vector).
// This allows to perform insert, delete, and access in logarithmic time.
//
// There is a comparison test for the containers:
//
// MS (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
// -------------------------------------------------------------------------------
// | | std:: | std:: | FastCpp:: | operation |
// | | vector | deque | BTreeArray | count |
// |------------------------|-----------|-----------|---------------|------------|
// |destructor | 1 | 517 | 535 | 10000000 |
// |push_front(i) | - | 435 | 1521 | 10000000 |
// |push_back(i) | 101 | 441 | 1335 | 10000000 |
// |insert(v.begin(), i) | 119722 | 21 | 109 | 500000 |
// |insert(v.begin()+i/2, i)| 50873 | 509804 | 275 | 500000 |
// |operator [] | 11 | 56 | 2248 | 10000000 |
// |operator [] step 2 | 11 | 29 | 1152 | 10000000 |
// |it : begin()-->end() | 8 | 43 | 88 | 10000000 |
// |it : begin()-->end() +=2| 6 | 21 | 70 | 10000000 |
// |erase(v.begin()) | 116988 | 11 | 74 | 500000 |
// |pop_back() | 8 | 15 | 1537 | 10000000 |
// |erase middle | 49312 | 511167 | 238 | 500000 |
// -------------------------------------------------------------------------------
// results are in milliseconds
//
//
// gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
// -------------------------------------------------------------------------------
// | | std:: | std:: | FastCpp:: | operation |
// | | vector | deque | BTreeArray | count |
// |------------------------|-----------|-----------|---------------|------------|
// |destructor | 2 | 8 | 130 | 10000000 |
// |push_front(i) | - | 112 | 1844 | 10000000 |
// |push_back(i) | 187 | 36 | 1702 | 10000000 |
// |insert(v.begin(), i) | 124406 | 5 | 137 | 500000 |
// |insert(v.begin()+i/2, i)| 53285 | 77996 | 345 | 500000 |
// |operator [] | 12 | 43 | 2561 | 10000000 |
// |operator [] step 2 | 9 | 15 | 1299 | 10000000 |
// |it : begin()-->end() | 10 | 10 | 100 | 10000000 |
// |it : begin()-->end() +=2| 10 | 9 | 78 | 10000000 |
// |erase(v.begin()) | 121562 | 7 | 99 | 500000 |
// |pop_back() | 7 | 31 | 1916 | 10000000 |
// |erase middle | 51343 | 69523 | 325 | 500000 |
// -------------------------------------------------------------------------------
// results are in milliseconds
//
// The source code of the test is located at Tests/SpeedTest/SpeedTest.cpp.
//
//
// The license allows to use any FastCpp library for free,
// if the link to www.FastCpp.com displayed in an application using the library.
//
//
// Download
//
}// namespace FastCpp