91 Commits

Author SHA1 Message Date
Ion Gaztañaga 93b7d05a12 Move element_ to bench_utils.hpp 2026-06-30 00:26:29 +02:00
Ion Gaztañaga e77969feda Refactor hub bench into a more generia bench_node_cont.hpp so that we can also test other node based containers like list 2026-06-21 13:10:03 +02:00
Ion Gaztañaga 2c6d4ee341 Insert barriers so that memset/memcpy writes under NONTRIVIAL_ELEMENT are not optimized away by the compiler. 2026-06-19 14:22:50 +02:00
Ion Gaztañaga 387d5a54ef Add BOOST_IF_CONSTEXPR to constant condition 2026-06-18 20:03:10 +02:00
Ion Gaztañaga 176bf09890 Improve benchmark:
- Add clearing
- Add two or thre containers in some test cases to increase benchmarked time
2026-06-12 00:02:52 +02:00
Ion Gaztañaga 242c567d20 Put hub.hpp at the top-level 2026-06-05 23:46:41 +02:00
Ion Gaztañaga 65f61afdd3 Enable agagin commented code in benchmark 2026-06-05 15:37:02 +02:00
Ion Gaztañaga c6137cc970 Added LONG_BENCH option and new geomeans per erasure rate in the general summary 2026-06-05 10:55:48 +02:00
Ion Gaztañaga 47a98ed1fe Renamed "emplace" as "quick_emplace" and recover strong exception guarantee for "emplace". 2026-06-05 00:37:12 +02:00
Ion Gaztañaga ff18b26c0f Add elapsed time. 2026-06-04 11:19:14 +02:00
Ion Gaztañaga e18fd8802c Replace std::string filling to avoid gcc warnings 2026-06-03 23:17:54 +02:00
Ion Gaztañaga 79d6f9fd9f Use nsec clock 2026-06-03 18:11:20 +02:00
Ion Gaztañaga ab73834d26 Add geomeans per test 2026-06-02 12:47:24 +02:00
Ion Gaztañaga 36dbb7445e Changed implementation to support several element sizes in single benchmark 2026-06-01 14:25:21 +02:00
Ion Gaztañaga aaee5c0f0d Add erase ratio geomean 2026-05-29 15:34:49 +02:00
Ion Gaztañaga dddce5beaa Update "hub" to the post-review version and update "nest", its test and benchamarks accordingly. 2026-05-25 21:55:00 +02:00
Ion Gaztañaga 77952aa951 Refactor segmented benches in groups, added additional bench to search_n 2026-05-10 01:27:39 +02:00
Ion Gaztañaga a0b8a366e2 Add flag to disable bidirectional iterator algorithms 2026-05-07 16:44:18 +02:00
Ion Gaztañaga 22438f626e Handle BENCH_ON define to trigger the long run 2026-05-06 18:05:00 +02:00
Ion Gaztañaga 5e09015223 Limit code alignement for GCC >= 9 2026-05-06 16:15:29 +02:00
Ion Gaztañaga 7dfd0cafb9 Add align-functions=64", "align-loops=32 for GCC to make benchmarks more independent of code alignment. 2026-05-06 13:00:12 +02:00
Ion Gaztañaga 017debc400 Use 128 block size for tests 2026-05-06 00:03:04 +02:00
Ion Gaztañaga 2ab08aafe7 Activate again MyInt benchs 2026-05-05 00:02:17 +02:00
Ion Gaztañaga 7597ba7662 Implement BOOST_CONTAINER_BENCH_SEGMENTED_GROUP macro to select a sub-group of benchmarks depending on the number of used ranges (1-3). 2026-05-04 10:44:35 +02:00
Ion Gaztañaga c451e3f2f9 Add segmente input and output testing to more algorithms 2026-05-03 23:23:42 +02:00
Ion Gaztañaga 9d38794a18 Add more segmented input/output combinations to the test 2026-05-02 01:05:24 +02:00
Ion Gaztañaga 215b14a762 Reimplement segmented_merge so that all iterator (input1, input2, output) can be segmented 2026-05-02 01:05:02 +02:00
Ion Gaztañaga c15bfc6c39 Put bench_remove_if just after bench_remove. 2026-04-29 00:45:44 +02:00
Ion Gaztañaga aee0821aa4 forceinline Inline wrap 2026-04-26 00:41:13 +02:00
Ion Gaztañaga c2bbd487e6 Add multi segmented seg_reverse_copy test 2026-04-25 01:05:24 +02:00
Ion Gaztañaga 87c6f80c1f Improve output formatting 2026-04-25 00:07:09 +02:00
Ion Gaztañaga 9c34e61140 Change test type names fo better formatting and maintenance. 2026-04-24 11:08:08 +02:00
Ion Gaztañaga 6c268058c1 Better indentation for geomean_accumulator 2026-04-23 23:59:47 +02:00
Ion Gaztañaga ac111207df correct wrapped_iterator file name 2026-04-23 23:58:22 +02:00
Ion Gaztañaga 2b0a09462c Put fastest, allocation only, tests first to avoid allocation pollution for subsequent tests 2026-04-22 23:18:12 +02:00
Ion Gaztañaga 9d49cef31b Make sure erase wrappers are inlined 2026-04-22 01:10:16 +02:00
Ion Gaztañaga 1eded9b487 Fix warnings for old GCCs and make it work without exceptions 2026-04-20 13:30:46 +02:00
Ion Gaztañaga 4f72690084 Make non-trivial element with memset in the constructor 2026-04-20 00:46:50 +02:00
Ion Gaztañaga b7d984bf04 Add C++14 mismatch overloads 2026-04-20 00:45:54 +02:00
Ion Gaztañaga ad16326d43 Fix segmented_mismatch warnings 2026-04-20 00:29:30 +02:00
Ion Gaztañaga df92a474a9 Make segmented_search and segmented_mismatch work with recursively segmented iterators 2026-04-18 12:33:44 +02:00
Ion Gaztañaga 9bb9ac07aa Fix Wsign-conversion warnings 2026-04-12 21:09:11 +02:00
Ion Gaztañaga a12422b678 Refactor benchmark to avoid repeated code 2026-04-12 20:04:58 +02:00
Ion Gaztañaga f0b9c5cf92 Add explicit bench for newly refactored dual segmented algorithms. 2026-04-11 22:52:37 +02:00
Ion Gaztañaga 562af5a13a Implement segmented_equal without relying in mismatch, as the implementation is slower in some compilers. 2026-04-11 22:52:17 +02:00
Ion Gaztañaga af38102d50 Implement dual segmentation to copy_if, copy_n and mismatch. 2026-04-11 22:51:23 +02:00
Ion Gaztañaga 7afb76786b Added bench for hub vs nest 2026-04-06 20:04:36 +02:00
Ion Gaztañaga 5ba527c3a0 Simplified variables and changed order to see if 2x segmentation helps. 2026-04-06 19:35:57 +02:00
Ion Gaztañaga 6d26a89aa5 Test segmented output optimization in benchmark 2026-04-04 12:47:01 +02:00
Ion Gaztañaga b3bc6c77b4 Test segmented output optimization in benchamark 2026-04-04 12:46:49 +02:00