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
|
e5a4028827
|
Implement BOOST_CONTAINER_DISABLE_SEGMENTED_OUTPUT macro
|
2026-04-04 13:38:59 +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 |
|
Ion Gaztañaga
|
bc93697612
|
Used boost::container::vector instead of std::vector
|
2026-04-04 11:10:35 +02:00 |
|
Ion Gaztañaga
|
e682580bf2
|
Use C++03 friendly escape calls
|
2026-04-04 11:02:53 +02:00 |
|
Ion Gaztañaga
|
7bd65d4dc3
|
Use boost::container::vector instead of std::vector in test helpers
|
2026-04-04 11:02:22 +02:00 |
|
Ion Gaztañaga
|
aab32bfa54
|
Add missing move utility core header
|
2026-04-04 11:01:57 +02:00 |
|
Ion Gaztañaga
|
8cf79b7140
|
Reimplement segmented_remove_copy_if to support recursively segmented iterators, make the implementation detail move-configurable, and make segmented_remove_if a thin wrapper again based on that.
|
2026-04-04 10:11:49 +02:00 |
|
Ion Gaztañaga
|
a7443d0f92
|
Test move-only types in the corresponding algorithms
|
2026-04-04 10:10:40 +02:00 |
|
Ion Gaztañaga
|
a4307966bc
|
Implement fully recursive segmented_remove_if
|
2026-04-04 00:43:56 +02:00 |
|
Ion Gaztañaga
|
a14cf02e24
|
Add less_and_greater_ref to implement a better bench_remove_copy_if bench
|
2026-04-04 00:43:33 +02:00 |
|
Ion Gaztañaga
|
fffd74843a
|
Introduce "unreachable_sentinel_t" to reuse bounded algorithms to implement unbounded ones.
|
2026-04-04 00:42:52 +02:00 |
|
Ion Gaztañaga
|
8e1506d02a
|
Add missing <vector> include
|
2026-04-03 19:50:16 +02:00 |
|
Ion Gaztañaga
|
b986047bf6
|
Implement random-access local_iterator and improve performance.
|
2026-04-03 19:26:56 +02:00 |
|
Ion Gaztañaga
|
20ddb76037
|
Improve segmented_algo benchmarks, unrolling alll oops
|
2026-04-03 19:26:22 +02:00 |
|
Ion Gaztañaga
|
053adb2b22
|
Simplify set_symetric_difference code
|
2026-04-03 15:31:22 +02:00 |
|
Ion Gaztañaga
|
e102644fde
|
Simplify set difference code
|
2026-04-03 15:30:53 +02:00 |
|
Ion Gaztañaga
|
eadc1fe6e9
|
Implemented directly segmented_none_of for better performance
|
2026-04-03 15:29:27 +02:00 |
|
Ion Gaztañaga
|
a585aaf964
|
Fix escape argument
|
2026-04-01 01:24:29 +02:00 |
|
Ion Gaztañaga
|
4783549285
|
totally rewrite benchmark code to include:
- optimized escape/clobber
- repeating bench several times and calculating the median
|
2026-04-01 01:17:27 +02:00 |
|
Ion Gaztañaga
|
dc7d558b14
|
Add BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS to not_pred
|
2026-03-31 16:08:35 +02:00 |
|
Ion Gaztañaga
|
1621e667cf
|
Algorithm fine-tuning
|
2026-03-31 16:07:47 +02:00 |
|
Ion Gaztañaga
|
6c14535339
|
Move t1 time measurement after the test to avoid any interference.
|
2026-03-31 13:13:40 +02:00 |
|
Ion Gaztañaga
|
ee8ca90509
|
forceinline trivial functions
|
2026-03-31 00:25:57 +02:00 |
|
Ion Gaztañaga
|
9c02f05faf
|
Fix segmented generate_n bug
|
2026-03-31 00:25:33 +02:00 |
|
Ion Gaztañaga
|
7fbad9c0d7
|
Add test for every position to non-mutating algorithms
|
2026-03-31 00:09:12 +02:00 |
|
Ion Gaztañaga
|
76bdafa045
|
Fix "compose" operation to always return a valid upper iterator
|
2026-03-30 13:43:15 +02:00 |
|
Ion Gaztañaga
|
f8c3d63016
|
Fix "compose" in segmented_iterator_traits, the returned deque iterator must be always valid.
|
2026-03-30 11:18:26 +02:00 |
|
Ion Gaztañaga
|
662450b989
|
Cosmetic changes to simplify function reading
|
2026-03-30 00:02:25 +02:00 |
|
Ion Gaztañaga
|
e02d16f29f
|
Add missing header
|
2026-03-29 23:23:35 +02:00 |
|
Ion Gaztañaga
|
40174dec40
|
Fix bug: iterator category was not properly passed in the recursive segmented calls.
|
2026-03-29 23:23:25 +02:00 |
|
Ion Gaztañaga
|
530b41dad9
|
Add BOOST_CONTAINER_ENABLE_SEGMENTED_LOOP_UNROLLING / BOOST_CONTAINER_DISABLE_SEGMENTED_LOOP_UNROLLING options to easier test unrolling.
|
2026-03-29 22:56:47 +02:00 |
|
Ion Gaztañaga
|
57e95d43a7
|
Unroll segmented_copy, segmented_copy_if, segmented_copy_n
|
2026-03-29 22:52:47 +02:00 |
|
Ion Gaztañaga
|
1f8f55a5f8
|
Add median calculation to benchmark
|
2026-03-29 22:21:18 +02:00 |
|
Ion Gaztañaga
|
b468c97627
|
Simplify (using repetitions) unrollings so that the compiler find them easier to parallelize.
|
2026-03-29 22:20:58 +02:00 |
|
Ion Gaztañaga
|
704a6dbe33
|
Unroll segmented_transform
|
2026-03-29 19:07:08 +02:00 |
|
Ion Gaztañaga
|
97b9037ee5
|
Use generic category for fallback implementations
|
2026-03-29 19:06:50 +02:00 |
|
Ion Gaztañaga
|
63a4df535e
|
Unrolled segmented_reverse_copy
|
2026-03-29 18:57:18 +02:00 |
|
Ion Gaztañaga
|
568bfdfc2b
|
Unroll segmented_reverse
|
2026-03-29 18:53:13 +02:00 |
|
Ion Gaztañaga
|
1ca061fb10
|
Cosmetic indenting
|
2026-03-29 18:37:23 +02:00 |
|
Ion Gaztañaga
|
066627c818
|
Unrolled segmented_replace_if
|
2026-03-29 17:52:57 +02:00 |
|
Ion Gaztañaga
|
c3c79053bb
|
Unrolled segmented_remove_copy
|
2026-03-29 17:52:42 +02:00 |
|
Ion Gaztañaga
|
8951e3eae2
|
unroll segmented partition_copy
|
2026-03-29 17:29:52 +02:00 |
|
Ion Gaztañaga
|
3d36bd57b3
|
Unroll segmented_is_sorted_until
|
2026-03-29 17:26:30 +02:00 |
|
Ion Gaztañaga
|
b68fceb101
|
Remove unneeded iterator increment for the "case 1" switch case
|
2026-03-29 17:26:15 +02:00 |
|
Ion Gaztañaga
|
f566b64272
|
Modified benchmark to take the original container as const reference and for those mutating algorithms, copy construct a copy for each iteration.
|
2026-03-29 16:58:31 +02:00 |
|
Ion Gaztañaga
|
72120b665a
|
Unrolled segmented_partition
|
2026-03-29 16:57:45 +02:00 |
|
Ion Gaztañaga
|
1b221fcca0
|
Fixed unrolling bug in segmented_count_if
|
2026-03-29 15:42:51 +02:00 |
|