Commit Graph
1992 Commits
Author SHA1 Message Date
Ion Gaztañaga fac414efd0 Remove unneeded check 2026-08-07 01:12:43 +02:00
Ion Gaztañaga 2d09285570 Optimize operator++ code generation for MSVC, matching operator-- behaviour 2026-08-07 01:06:47 +02:00
Ion Gaztañaga 02643e91c1 Use new lightweight_test header that disables some annoying warnings from the standard library in MSVC 2026-08-07 00:36:17 +02:00
Ion Gaztañaga 953dd3c593 disable MSVC warning 4530 for tests/bench 2026-08-06 23:31:04 +02:00
Ion Gaztañaga 6f8bc9d480 Slightly optimize loop for GCC 2026-08-06 19:50:40 +02:00
Ion Gaztañaga 08a40a48be Implement pull 339 also for nest 2026-08-06 02:09:17 +02:00
Ion Gaztañaga caca8e2d6c Update release notes with #339 2026-08-06 01:30:17 +02:00
Ion Gaztañaga 4edf8cd847 Merge branch 'develop' of github.com:boostorg/container into develop 2026-08-06 01:10:04 +02:00
Ion GaztañagaandGitHub 6a1d38bfc9 Merge pull request #339 from joaquintides/feature/optimized-range-insertion
optimized range insertion for `boost::container::hub`
2026-08-06 01:09:42 +02:00
joaquintides 2e64bfede8 optimized range_assign_impl when blocks used are empty 2026-08-03 13:33:27 +02:00
Ion Gaztañaga 3b820be55d Avoid treating the one element search case in the loop, hoist it outside, delegating to segmented_find. 2026-08-03 00:54:38 +02:00
Ion Gaztañaga d34031fd0f Add BOOST_CONTAINER_SEGMENTED_ENABLE_RA_SPECIALIZATIONS macro to disable random-access iterator optimizations 2026-08-02 01:11:33 +02:00
Ion Gaztañaga 30af471e3c Manualy inline and optimize algorithms using the cleanup_blocks strategy. 2026-08-01 16:31:05 +02:00
Ion Gaztañaga 4bd1de6c05 Assign on out_path 2026-08-01 12:05:48 +02:00
Ion Gaztañaga 09b465f1d9 SImplify inlining layer 2026-08-01 11:54:05 +02:00
Ion Gaztañaga f844bd87f6 move find_end to the group 27. Removed equal_2r shorcut 2026-08-01 11:50:51 +02:00
Ion Gaztañaga cfac94208b Erase test artifact. 2026-08-01 10:15:00 +02:00
Ion Gaztañaga 6ab949dafc Added equal_2r to the bench 2026-08-01 01:18:58 +02:00
Ion Gaztañaga c69041f77b Added segmented_find_end to bench, removed partition_point 2026-08-01 01:12:52 +02:00
Ion Gaztañaga b2cc3b7bd0 Added segmented_find_end 2026-08-01 01:12:03 +02:00
Ion Gaztañaga e42b7ebeb4 Refactored all algorithms to use the detail header for internal utilities. 2026-08-01 01:11:06 +02:00
Ion Gaztañaga 753187abaa Disable C++17 deprecation warnings. 2026-08-01 00:52:35 +02:00
Ion Gaztañaga ad8e795c9d Implement unrolling only for GCC 2026-07-31 23:13:16 +02:00
Ion Gaztañaga 88a0e74bc1 Activate unroll for segmented_none_of 2026-07-31 20:02:05 +02:00
Ion Gaztañaga 5ea63f4f94 Fix maximum number of predicate calls according to the standard 2026-07-31 19:02:03 +02:00
Ion Gaztañaga 50c2b1bb4e Fix maximum predicate call limit per standard requirements 2026-07-31 18:44:54 +02:00
Ion Gaztañaga 63f55fb085 Add predicate calling limit tests to all algorithms 2026-07-31 13:46:57 +02:00
Ion Gaztañaga dab2af604b Delete partition_point as it does not fill std requirements 2026-07-31 13:31:54 +02:00
Ion Gaztañaga 2d8d74e714 Use BOOST_[UN]LIKELY instead of own macro 2026-07-31 12:16:18 +02:00
Ion Gaztañaga 6a1a7d66cf Fix standard mandatory predicate calls on segmented outputs. These algorithms were calling the predicate more imtes. 2026-07-31 12:01:33 +02:00
Ion Gaztañaga 876a616430 Print type name when printing group geomean 2026-07-30 13:55:04 +02:00
Ion Gaztañaga ba73f84f8b Optimize size of the segment walker, merging the initial and final segment. The whole segment loop call remains since it can be better optimized/vectorized for fixed-size segment iterators. 2026-07-30 13:47:49 +02:00
Ion Gaztañaga 3e065656a8 Erase non-required typename. 2026-07-30 08:58:43 +02:00
Ion Gaztañaga 2c4d8043ae Add recursive output handling and improved leave condition return. 2026-07-30 01:43:48 +02:00
Ion Gaztañaga 3c8ea73b3c Implement variable size MyFatInt 2026-07-30 01:31:36 +02:00
Ion Gaztañaga b506adfa88 Simplify walking 2026-07-28 14:35:18 +02:00
Ion Gaztañaga bec5099d56 Scope segduo return type, in some compilers, this saves a bit of stack. 2026-07-28 13:07:39 +02:00
Ion Gaztañaga 77905ab479 Simplify partition_disjoint_bidir_ranges 2026-07-28 13:05:02 +02:00
Ion Gaztañaga d2f0d5b354 Disable bogus Wstringop-overflow also for GCC 10 2026-07-28 09:57:49 +02:00
Ion Gaztañaga 6d49914a4f Simplified segmented_partition first segment walk, reduging code size 2026-07-28 00:23:28 +02:00
Ion Gaztañaga f6175cb8cb Simplified segmented_partition loops to improve a bit GCC codegen and erased an unneeded middle function for the bidiretional case. 2026-07-27 18:54:27 +02:00
Ion Gaztañaga 4ef07df727 Use BOOST_CONTAINER_SEGMENTED_UNROLL instead of the plain one 2026-07-27 14:38:36 +02:00
Ion Gaztañaga 5b71062724 Add BOOST_UNLIKELY to empty range shortcuts 2026-07-27 00:39:42 +02:00
Ion Gaztañaga 41aeeba723 Update hot loop comments 2026-07-27 00:07:04 +02:00
Ion Gaztañaga 282bec8c93 Update temporary tuple-like results handling in order to reduce code size 2026-07-27 00:06:42 +02:00
Ion Gaztañaga 6c0f013874 SImplify segment walk 2026-07-26 20:37:52 +02:00
Ion Gaztañaga aa2b15274e Improved all tests to test same segment cases, including ourter and inner segmentation loops 2026-07-26 14:24:01 +02:00
Ion Gaztañaga fa0859568b Apply segmented logic simplification to improve code size 2026-07-26 14:22:52 +02:00
Ion Gaztañaga c857e95625 Fix destination exhaustion logic as the source must be always consumed 2026-07-26 14:22:22 +02:00
Ion Gaztañaga 1ca8484469 Improve benchmarking:
- Add group geometric mean
- Reformat output table: adjust columns + raw ns
- Clarify test case names
2026-07-26 12:31:22 +02:00