Commit Graph
46 Commits
Author SHA1 Message Date
Ion Gaztañaga 2e78cb524c Unroll operation loop to avoid measuring loop overhead and other modifications to exercise more paths of the insertion functions. 2020-08-11 23:49:13 +02:00
Ion Gaztañaga efd08d9a0e Improve timing and add warm-up step 2020-08-10 11:19:01 +02:00
Ion Gaztañaga ebcd0222b4 Integrate and adapt "devector's", from Thaler Benedek's implementation. 2020-08-10 00:16:58 +02:00
Ion Gaztañaga f3e2c9cc73 Add simple iteration option for regression runnersa dn save CPU 2018-09-25 09:06:33 +02:00
Ion Gaztañaga c4a8cac5a1 Fix unused variable warnings 2018-09-15 01:12:17 +02:00
Ion Gaztañaga 139db663a3 * Implemented C++20 contains() for associative containers as specified in P0458R2.
* Fixed serious bug in heterogeneous lookup functions (is_transparent was broken).
2018-08-13 15:36:00 +02:00
Ion Gaztañaga 04b0791593 * 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
2018-04-29 12:42:04 +02:00
Ion Gaztañaga fa2494631a Use namespace dtl instead of container_detail to avoid excessively long symbol names. 2017-11-07 00:51:46 +01:00
Ion Gaztañaga 44919284a9 Change allocator name logic 2017-10-20 00:31:53 +02:00
zerotypos-found 7cb3a6fbe8 [inspection report] remove tabs and fix copyright notice format 2016-12-20 11:03:57 +09:00
Ion Gaztañaga 8f136bc909 Add custom random_shuffle as some old compiler implementations self-swap some elements. 2016-07-31 23:15:39 +02:00
Ion Gaztañaga e7faf92113 Add missing <cassert> headers 2016-06-25 11:20:36 +02:00
Ion Gaztañaga 16ab9955f2 Reduce bench constants for debug modes 2016-02-23 13:28:17 +01:00
Marshall Clow cd84bf99c5 Remove use of deprecated macros; use replacements 2015-09-10 13:25:58 -07:00
Ion Gaztañaga 33d2f0f7af Add Polymorphic Memory Resource utilities and rework the separately compiled library:
- Dlmalloc's based C function are boost_cont_xxx no longer exported, but wrapped into C++ linkage dlmalloc_xxx functions to effectively reuse Boost's dynamic library and autolink machinery instead of rewriting machinery to compile the C source file.
- Refactored scoped_allocator_adaptor's construct logic as it was shared with polymorphic allocator's one. Moved common logic to detail/dispatch_uses_allocator.hpp. Refactored also scoped_allocator_adaptor test utilities to be reused with polymorphic_allocator tests.
2015-09-07 19:16:46 +02:00
Ion Gaztañaga 097da3f73c Rename stable vector bench to avoid too long names that might give problems in some filesystems. 2015-06-04 11:39:53 +02:00
Ion Gaztañaga 10d027aa9c Include boost/config.hpp before testinG BOOST_HAS_PRAGMA_ONCE. 2015-02-02 15:26:53 +01:00
Ion Gaztañaga a322203a89 Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once. 2015-01-10 12:50:17 +01:00
Adam Wulkiewicz 099966e1cf Fix varray_detail::construct() (version emulating perfect forwarding). 2015-01-04 04:00:46 +01:00
Ion Gaztañaga a369e3c8c5 Avoid instantiating iterator tags to allow iterators that define iterator_categories with forward declared tags. 2015-01-04 02:29:15 +01:00
Ion Gaztañaga 360957a797 Massive dependency reduction. Removed dependency on several boost libraries and standard C++ headers. 2015-01-02 19:34:21 +01:00
Ion Gaztañaga 955248b739 Replace "Allocator" template parameter with "A", according to the standard. 2014-12-11 22:01:58 +01:00
Ion Gaztañaga afd1c2d266 Use boost::adl_move_swap instead of own swap utility
Imported basic algorithms from Boost.Intrusive
2014-11-26 19:33:27 +01:00
Ion Gaztañaga 7971dc6602 Refactored uses of <iterator> and <algorithm> to avoid dependencies where possible. 2014-11-26 07:08:06 +01:00
Ion Gaztañaga d19b012d53 Reduced include dependencies:
- Replaced boost/move/move.hpp with boost/move/utility_core.hpp
- Replaces <new> with placement_new.hpp
- Removed some unneeded std includes.
2014-09-26 08:12:40 +02:00
Ion Gaztañaga 3af96e0801 Implements N3644.
- Avoid deriving from std::iterator_traits as iterators become too fat.
- Use intrusive's reverse_iterator some std::reverse_iterator-s don't value initialize base.
2014-09-24 16:09:56 +02:00
Ion Gaztañaga f213f55f20 Includes: Updated detail/xxx.hpp includes to core/xxx.hpp, added some missing move/traits.hpp and removed some unused ones. 2014-09-17 21:49:47 +02:00
Ion Gaztañaga 08343e5d5d Passed insert_vs_emplace to the regression tests group 2014-08-04 08:53:25 +02:00
Ion Gaztañaga 644bea4404 Added test for const prvalues in insert vs. emplace 2014-08-04 00:41:47 +02:00
Ion Gaztañaga 90be67e81f Improved placement proxy to avoid temporary objects when constructing from values from the target type.
Added testcase based on Howard Hinnant's "Insert vs. Emplace" article.
2014-08-02 21:30:39 +02:00
Ion Gaztañaga 717959061e Make debug benchmarks faster reducing iterations. 2014-07-20 14:43:58 +02:00
Ion Gaztañaga 8c1bfe2881 Removed trailing whitespaces 2014-05-28 15:50:13 +02:00
Ion Gaztañaga bffd6c036c Fixes #9915.
Uses intrusive is_convertible in MSVC compilers.
Removes some throw conditions in the documentation produced by the allocator copy constructor (as the standard requires no-throw guarantee for those).
2014-04-17 00:06:59 +02:00
Ion Gaztañaga 4f2d7944fa Corrected test_suite name 2014-02-06 11:53:36 +01:00
Ion Gaztañaga a4c0188173 Divided set benchmark in several smaller benchmark files 2014-02-06 11:13:22 +01:00
Ion Gaztañaga a4b839628a Implemented unique associative containers' equal_range using lower_bound_range which is more efficient with heavy comparison functions.
Updated benchmark to avoid measuring redundant operations in searches.
2014-01-20 13:20:02 +01:00
Ion Gaztañaga 6d6656fcc1 Improved set test with search functions and added set<string> test to benchmark. 2014-01-19 18:35:40 +01:00
Ion Gaztañaga 2b804c880b Fix GCC warning about unused typedef in release mode. 2014-01-05 22:37:09 +01:00
Ion Gaztañaga 01486761a6 Added support for configurable tree-based associative containers. In addition to RB trees, AVL, Scapegoat and Splay trees are experimentally supported. 2014-01-03 13:26:57 +01:00
Ion Gaztañaga 41c2056ec6 - Modified relational operators to be friend inline definitions. This allows compilation checking when instantiating classes, avoids predeclarations and results in less verbose code.
- First to make associative containers' tree implementation configurable.
2013-12-23 23:34:28 +01:00
Ion Gaztañaga f2947c115e Changes during Git migration:
- Added Extended Allocator support for Boost.Container.
- Improved Doxygen generated reference
- Fixed ticket #9338 ("VS2005 compiler errors in swap() definition after including container/memory_util.hpp")
2013-12-23 10:47:20 +01:00
Ion Gaztañaga 14f092ab00 Default initialization for vector-like containers
Complexity guarantees for associative container constructors and ordered input ranges
Added benchmark for associative containers
Fixes #9166

[SVN r85964]
2013-09-26 18:05:25 +00:00
Stephen Kelly 59b2793df7 Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Ion Gaztañaga 6acbbb6f9b Vector performance improvements: dispatching to memcpy when possible.
[SVN r83271]
2013-03-03 12:26:48 +00:00
Ion Gaztañaga 3948f040b9 Rolled back to standard construction in benchmark
[SVN r83127]
2013-02-24 13:16:40 +00:00
Ion Gaztañaga 0896d04ddf Additional vector speed improvements, added basic benchmark against varray
[SVN r83126]
2013-02-24 13:13:36 +00:00