François Dumont
63d182fb86
libstdc++: Enhance branching in std::inplace_merge and std::stable_sort
...
When we manage to allocate a buffer of the expected size we can simplify the code to
perform the expected algorithm.
libstdc++-v3/ChangeLog:
* include/bits/stl_algo.h
(__merge_adaptive): Adapt to merge only when buffer is large enough..
(__merge_adaptive_resize): New, adapt merge when buffer is too small.
(__inplace_merge): Adapt, use latter.
(__stable_sort_adaptive): Adapt to sort only when buffer is large enough.
(__stable_sort_adaptive_resize): New, adapt sort when buffer is too small.
(__stable_sort): Adapt, use latter.
2022-07-18 22:40:10 +02:00
..
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-06-14 21:07:47 +01:00
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-02-10 10:14:36 -08:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-06-16 20:20:40 +01:00
2022-06-14 21:07:47 +01:00
2022-02-02 16:30:51 +00:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:22 +01:00
2022-07-07 17:38:14 +01:00
2022-01-03 10:42:10 +01:00
2022-06-27 11:08:16 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-06-14 21:07:47 +01:00
2022-01-03 10:42:10 +01:00
2022-01-27 23:31:03 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-06 14:56:48 +00:00
2022-02-04 19:51:26 +00:00
2022-02-04 19:51:26 +00:00
2022-07-01 11:50:18 +01:00
2022-06-27 11:08:16 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-26 10:44:45 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-06-15 20:21:52 +02:00
2022-06-15 20:21:52 +02:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-17 20:50:31 +01:00
2022-01-25 21:05:16 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-12 18:04:01 +01:00
2022-03-21 11:02:04 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-19 23:38:23 +01:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:21 +01:00
2022-06-27 11:08:16 +01:00
2022-01-21 16:07:34 +00:00
2022-06-14 21:07:47 +01:00
2022-01-21 16:07:34 +00:00
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-06 23:54:09 +01:00
2022-01-21 16:07:34 +00:00
2022-04-15 14:41:14 -04:00
2022-05-26 10:44:45 +01:00
2022-02-22 09:37:58 -05:00
2022-02-22 09:37:58 -05:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-14 11:27:50 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-03-01 15:25:39 +00:00
2022-01-05 13:47:00 +00:00
2022-05-13 13:32:22 +01:00
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-01-05 13:47:01 +00:00
2022-01-03 10:42:10 +01:00
2022-01-05 13:47:00 +00:00
2022-05-13 13:32:22 +01:00
2022-01-05 13:47:01 +00:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:22 +01:00
2022-01-25 21:05:16 +00:00
2022-01-21 16:07:34 +00:00
2022-01-03 10:42:10 +01:00
2022-05-06 14:43:39 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:23 +01:00
2022-05-13 20:40:05 +01:00
2022-07-18 22:40:10 +02:00
2022-01-21 16:07:34 +00:00
2022-02-17 23:44:25 +00:00
2022-01-14 10:14:25 +00:00
2022-01-05 13:47:02 +00:00
2022-01-21 16:07:34 +00:00
2022-05-26 10:44:45 +01:00
2022-05-26 10:44:45 +01:00
2022-01-14 11:27:50 +00:00
2022-07-12 09:13:45 +01:00
2022-01-03 10:42:10 +01:00
2022-01-21 16:07:34 +00:00
2022-01-14 11:27:50 +00:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:22 +01:00
2022-05-13 13:32:22 +01:00
2022-01-03 10:42:10 +01:00
2022-01-14 11:27:50 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-19 00:58:25 +00:00
2022-01-21 16:07:34 +00:00
2022-01-03 10:42:10 +01:00
2022-04-14 11:02:37 +01:00
2022-01-14 11:27:50 +00:00
2022-01-14 11:27:50 +00:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-03-10 21:04:01 +00:00
2022-01-03 10:42:10 +01:00
2022-05-13 13:32:23 +01:00
2022-05-13 13:32:23 +01:00
2022-05-26 10:44:45 +01:00
2022-05-26 10:44:45 +01:00
2022-03-08 12:53:04 +00:00
2022-01-03 10:42:10 +01:00
2022-07-12 09:13:45 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00
2022-01-03 10:42:10 +01:00