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 |
|
Ion Gaztañaga
|
f95cab1976
|
Fixed argument list in merge_dst_bounded call in segmented_merge.hpp.
|
2026-07-26 12:26:46 +02:00 |
|
Ion Gaztañaga
|
32749b8677
|
Improved comments and corrected run start/length calculation in segmented_search_n
|
2026-07-26 12:26:33 +02:00 |
|
Ion Gaztañaga
|
21bab82287
|
Simplified the main segmentation logic merging single-segment and final segment calls. Seems to enable code reduction up to 15-20% for simple algorithms without regressions and improved inlining.
|
2026-07-26 10:28:17 +02:00 |
|
Ion Gaztañaga
|
b27f426cea
|
Merge single-segment case with the final segment case to reduce code size.
|
2026-07-26 00:47:17 +02:00 |
|
Ion Gaztañaga
|
dcae4895f1
|
Optimize for random-access iterators
|
2026-07-25 13:54:28 +02:00 |
|
Ion Gaztañaga
|
506a1b8f16
|
Forceinline output segmentation iteration
|
2026-07-25 13:53:45 +02:00 |
|
Ion Gaztañaga
|
e17aa29592
|
Always unroll
|
2026-07-25 13:53:19 +02:00 |
|
Ion Gaztañaga
|
b4363dc9e0
|
Add forceinline for the output segmentation part
|
2026-07-25 13:05:42 +02:00 |
|
Ion Gaztañaga
|
eaf643b68b
|
Compilation error fi both BOOST_CONTAINER_SEGMENTED_ENABLE_PRAGMA_UNROLL and BOOST_CONTAINER_SEGMENTED_DISABLE_PRAGMA_UNROLL are defined
|
2026-07-25 12:28:14 +02:00 |
|
Ion Gaztañaga
|
33343c219e
|
Add missing newline
|
2026-07-22 23:08:36 +02:00 |
|
Ion Gaztañaga
|
bd2e966ea7
|
Simplify random-access iterator optimization
|
2026-07-21 23:38:18 +02:00 |
|
Ion Gaztañaga
|
d9ac3c9ded
|
Add dual segmentation tests
|
2026-07-21 12:40:29 +02:00 |
|
Ion Gaztañaga
|
913fabe229
|
Add BOOST_CONTAINER_FORCEINLINE to random access specialization
|
2026-07-21 00:11:31 +02:00 |
|
Ion Gaztañaga
|
83bc287240
|
Add dual segmentation to swap_ranges and transform
|
2026-07-20 23:49:58 +02:00 |
|
Ion Gaztañaga
|
351b6cd58a
|
Move MyFatInt into bench_utils.hpp
|
2026-07-20 17:15:27 +02:00 |
|
Ion Gaztañaga
|
b980c5a773
|
Add new 17 and 27 groups and reorder tests lexicographically inside each group
|
2026-07-20 17:10:25 +02:00 |
|
Ion Gaztañaga
|
f5933b8bb7
|
Use BOOST_LIKELY/UNLIKELY in several algorithms
|
2026-07-20 00:50:39 +02:00 |
|
Ion Gaztañaga
|
90bcbda065
|
Disable BENCH_ON long benchmark macro to avoid stalling runners
|
2026-07-20 00:50:06 +02:00 |
|
Ion Gaztañaga
|
11aa12b0e5
|
Add more test cases for segmented outputs and reorder algorithms
|
2026-07-20 00:49:08 +02:00 |
|
Ion Gaztañaga
|
d2e22918d0
|
Avoid defining ELEMENT_SIZES twice
|
2026-07-20 00:38:15 +02:00 |
|
Ion Gaztañaga
|
980d7cf0f1
|
Use potentially more efficient _tzcnt_u64 and _lzcnt_u64 for MSVC x64 when available, although it will have little impacto in hub, which is memory-bounded.
|
2026-07-18 01:08:31 +02:00 |
|
Ion Gaztañaga
|
53fdd3c76d
|
Take the comparison value by const reference
|
2026-07-16 00:41:09 +02:00 |
|
Ion Gaztañaga
|
4edcf2ae9f
|
Use default allocator (void) for benchmarks.
|
2026-07-16 00:22:22 +02:00 |
|
Ion Gaztañaga
|
84446d0bff
|
Pass arguments for the fixed-size loop by value instead of reference.
|
2026-07-16 00:21:37 +02:00 |
|
Ion Gaztañaga
|
e7212a20a5
|
Optimize segmented_partition_copy for random-access iterators using fixed size iterations when both output ranges have enough room
|
2026-07-16 00:21:01 +02:00 |
|
Ion Gaztañaga
|
3f60aa86d1
|
Implement fixed size (32) boundless iteration for random access iterators
|
2026-07-16 00:01:54 +02:00 |
|