71 Commits

Author SHA1 Message Date
Ion Gaztañaga
9201bbf83b - Modify dlmalloc_allocation_command to use alignment info, this requires modifying the dlmalloc_ext wrapper library.
- Replace all dlmalloc_malloc uses with dlmalloc_allocation_command to support overaligned types in array allocations.
2026-01-19 01:06:56 +01:00
Ion Gaztañaga
93752fd9ed Reduce element size, it was accidently committed and it makes regression runners take longer than needed 2026-01-18 16:13:31 +01:00
Ion Gaztañaga
2bc94e2c5e Fix warning on casting removing const qualifiers 2026-01-18 16:12:20 +01:00
Ion Gaztañaga
e2dcbb58cc Add "import testing ;" to bench 2025-12-11 15:24:19 +01:00
Ion Gaztañaga
e68a3ac4d9 Add reservable deque to benchmark 2025-09-29 00:44:01 +02:00
Ion Gaztañaga
5be25a65db Add new deque implementation. 2025-09-20 10:48:50 +02:00
Ion Gaztañaga
38c55cac0f Add 100% growth factor vector 2025-09-07 19:17:25 +02:00
Ion Gaztañaga
77fb53dbf9 Add new_deque and its test 2025-09-07 19:16:34 +02:00
Ion Gaztañaga
08ded32473 Increase range size to 8 and template the integer type to contemplate both trivial and non-trivial types. 2025-09-06 12:46:25 +02:00
Ion Gaztañaga
c38fe90e9a Reduce iterations for resgresion tests 2024-05-23 22:53:35 +02:00
Ion Gaztañaga
03abe8c02c Return start() pointer by value to limit aliasing 2024-04-15 12:53:41 +02:00
Ion Gaztañaga
7c74232a40 Remove Boost.StaticAsser dependency 2024-01-02 19:46:05 +01:00
Ion Gaztañaga
fa14c4763f Reduce additional BOOST_CONTAINER_FORCEINLINE uses 2023-05-10 22:15:00 +02:00
Ion Gaztañaga
552688c7fc Simplify dependencies dropping Boost.Core 2023-02-01 23:00:23 +01:00
Ion Gaztañaga
704bf10058 Refactor advanced insertion algorithms and implement a new devector insert strategy, moving elements to the middle if there is a reasonable free capacity at the other end of the container. 2022-09-20 00:22:19 +02:00
Ion Gaztañaga
7b858d5601 Add reserve variant
Add "emplace back" and "emplace near end"
2022-08-24 14:40:47 +02:00
Ion Gaztañaga
97b122c951 Add devector-based flat_set/map to bench 2022-08-24 14:28:50 +02:00
Ion Gaztañaga
3f76f9fdf7 Fixes #206 ("operator-> on static_vector::iterator causes cast alignment warning") 2021-12-28 15:17:15 +01:00
Ion Gaztañaga
7f35ef420e Support Clang's -Wconversion -Wfloat-conversion -Wsign-conversion with -Werror 2021-10-20 00:18:05 +02:00
Ion Gaztañaga
dad2cb2d02 Support GCC's -Wconversion -Wfloat-conversion -Warith-conversion -Wsign-conversion warnings. 2021-10-16 15:57:47 +02:00
Ion Gaztañaga
c0bfb40f55 Don't use allocator::rebind as it is not present on recent c++ standards 2021-04-21 00:39:43 +02:00
Ion Gaztañaga
80697e7c0f #pragma GCC diagnostic push is available from GCC 4.6, not from GCC 4.5 2021-01-01 23:43:44 +01:00
Ion Gaztañaga
0a0ad0009e Add support for [[nodiscard]]:
- Decorate container and allocator functions.
- Make sure to disable warnings in tests
- Update doxygen documentation to support it
2020-11-05 14:24:35 +01:00
Ion Gaztañaga
525b46055e - Make sure testsuite works with "exception-handling=off" 2020-10-23 14:14:15 +02:00
Ion Gaztañaga
4bebeb2353 Make sure test suite/examples/bench compile with exceptions disabled (exception-handling=off) 2020-10-22 01:12:59 +02:00
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