Commit Graph

54 Commits

Author SHA1 Message Date
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 b7d984bf04 Add C++14 mismatch overloads 2026-04-20 00:45:54 +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 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 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 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 20ddb76037 Improve segmented_algo benchmarks, unrolling alll oops 2026-04-03 19:26:22 +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 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 1f8f55a5f8 Add median calculation to benchmark 2026-03-29 22:21:18 +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 c2d135e2bb Erase segmented_find_if_original_dispatch 2026-03-28 23:39:47 +01:00
Ion Gaztañaga 0ab7e5d0af Add bidirectional iterator support for find_last overloads 2026-03-28 22:29:17 +01:00
Ion Gaztañaga bd642effb9 Condition on less_than_ref is wrong. 2026-03-23 12:06:15 +01:00
Ion Gaztañaga 06d259dd5c Put early algorithm termination positions in the middle of the sequence to have a better representation of the average performance of the algorithms 2026-03-22 23:39:16 +01:00
Ion Gaztañaga 0f99763ea7 Add mark for slower than expected results 2026-03-20 15:20:51 +01:00
Ion Gaztañaga 57ae7a82d3 Added segmented_find_last, segmented_find_last_if, segmented_find_last_if_not 2026-03-20 01:33:48 +01:00
Ion Gaztañaga 60761d2df4 Avoid benchmarking suboptimal algorithms 2026-03-19 01:34:21 +01:00
Ion Gaztañaga f59c02a1e8 Added all_of, any_of, none_of to the benchmark, add "clobber()" call for each iteration to make sure each algorithm iteration starts with "unknown" memory contents. 2026-03-18 16:33:56 +01:00
Ion Gaztañaga 18edb763fb Add segmented_mismatch algorithm 2026-03-17 21:48:13 +01:00
Ion Gaztañaga c5d40dfe58 Add partition_point benchmark 2026-03-17 15:30:31 +01:00
Ion Gaztañaga 031d05c423 Add merge to benchmarks 2026-03-17 13:31:19 +01:00
Ion Gaztañaga 9524edaf65 Fix typo 2026-03-17 12:05:53 +01:00
Ion Gaztañaga d3fd6c5a51 Added set_difference, set_intersection, set_symmetric_difference to the benchmark. Reorder execution of algorithms lexicographicaly. 2026-03-17 11:58:35 +01:00
Ion Gaztañaga 8e19a4965d Improve escape mechanism to avoid unwanted loop optimizations. 2026-03-17 10:38:10 +01:00
Ion Gaztañaga 13ee44c848 Take container by value to avoid replacing values in mutating algorithms 2026-03-17 00:10:13 +01:00
Ion Gaztañaga 703720b186 Add segmented_set_union to benchmark 2026-03-17 00:09:43 +01:00
Ion Gaztañaga e4fc3e6852 Add "segmented_is_sorted_until" to benchmark 2026-03-16 22:55:49 +01:00