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 |
|
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 |
|