Peng Liu
ab3d793982
[libc++] Optimize ranges::move{,_backward} for vector<bool>::iterator ( #121109 )
...
As a follow-up to #121013 (which optimized `ranges::copy`) and #121026
(which optimized `ranges::copy_backward`), this PR enhances the
performance of `std::ranges::{move, move_backward}` for
`vector<bool>::iterator`, addressing a subtask outlined in issue #64038 .
The optimizations bring performance improvements analogous to those
achieved for the `{copy, copy_backward}` algorithms: up to 2000x for
aligned moves and 60x for unaligned moves. Moreover, comprehensive
tests covering up to 4 storage words (256 bytes) with odd and even bit
sizes are provided, which validate the proposed optimizations in this
patch.
2025-02-19 11:36:45 -05:00
..
2024-12-18 21:10:27 +01:00
2024-11-06 12:10:06 +01:00
2024-11-06 12:10:06 +01:00
2024-12-18 21:10:27 +01:00
2024-04-22 22:13:58 +02:00
2025-01-08 11:12:59 -05:00
2024-10-30 11:51:55 +01:00
2025-01-30 14:55:05 -05:00
2024-11-06 12:10:06 +01:00
2024-11-12 23:03:52 +01:00
2025-01-30 17:26:26 +01:00
2024-11-06 12:10:06 +01:00
2025-01-14 10:30:30 -05:00
2024-12-18 21:10:27 +01:00
2024-12-18 21:10:27 +01:00
2025-02-05 11:39:49 -05:00
2024-12-18 21:10:27 +01:00
2024-12-18 21:10:27 +01:00
2024-09-12 21:18:43 +02:00
2024-09-12 21:18:43 +02:00
2025-01-14 10:30:30 -05:00
2024-12-18 21:10:27 +01:00
2024-12-18 21:10:27 +01:00
2025-01-14 10:24:35 -05:00
2024-09-12 21:18:43 +02:00
2024-12-18 21:10:27 +01:00
2024-09-12 21:18:43 +02:00
2024-12-18 21:10:27 +01:00
2024-12-18 21:10:27 +01:00
2024-12-18 21:10:27 +01:00
2025-01-08 11:12:59 -05:00
2024-04-22 22:13:58 +02:00
2024-11-06 10:39:19 +01:00
2024-12-18 21:10:27 +01:00
2025-01-20 18:00:15 +01:00
2024-09-12 21:18:43 +02:00
2024-09-12 21:18:43 +02:00
2024-12-18 21:10:27 +01:00
2024-09-16 15:06:20 -04:00
2024-09-12 21:18:43 +02:00
2024-09-16 15:06:20 -04:00
2024-09-12 21:18:43 +02:00
2025-01-08 18:14:39 +01:00
2025-02-19 11:36:45 -05:00
2025-02-19 11:36:45 -05:00
2024-09-12 21:18:43 +02:00
2024-09-16 15:06:20 -04:00
2024-03-18 08:29:44 +01:00
2024-09-16 15:06:20 -04:00
2024-03-18 08:29:44 +01:00
2025-01-24 09:34:42 +01:00
2024-03-18 08:29:44 +01:00
2025-02-06 09:07:25 +01:00
2024-11-06 12:10:06 +01:00
2024-11-06 12:10:06 +01:00
2024-11-06 12:10:06 +01:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-11-06 12:10:06 +01:00
2024-11-12 23:03:52 +01:00
2024-11-12 23:03:52 +01:00
2024-11-06 12:10:06 +01:00
2024-08-01 08:54:06 -04:00
2024-09-16 15:06:20 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-11-06 12:10:06 +01:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-09-16 15:06:20 -04:00
2024-08-01 08:54:06 -04:00
2024-09-30 08:30:16 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-09-16 15:06:20 -04:00
2024-09-16 15:06:20 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2025-01-08 11:12:59 -05:00
2024-08-04 10:02:43 +02:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-10-30 11:51:55 +01:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-09-16 15:06:20 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-11-12 23:03:52 +01:00
2024-08-01 08:54:06 -04:00
2024-11-12 23:03:52 +01:00
2024-11-12 23:03:52 +01:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2025-01-08 11:12:59 -05:00
2024-08-01 08:54:06 -04:00
2024-08-01 08:54:06 -04:00
2024-09-12 21:18:43 +02:00
2024-09-12 21:18:43 +02:00
2024-03-18 08:29:44 +01:00
2024-09-16 15:06:20 -04:00
2024-09-16 15:06:20 -04:00
2024-11-12 23:03:52 +01:00
2024-09-16 15:06:20 -04:00
2024-11-12 23:03:52 +01:00
2024-11-12 23:03:52 +01:00
2024-10-31 02:20:10 +01:00
2025-01-08 18:14:39 +01:00
2024-03-18 08:29:44 +01:00
2025-01-14 10:24:35 -05:00
2024-12-17 11:29:16 +01:00
2025-02-06 09:07:25 +01:00
2025-01-08 11:12:59 -05:00
2024-09-16 15:06:20 -04:00
2024-11-06 12:10:06 +01:00
2025-01-08 11:12:59 -05:00
2024-09-16 15:06:20 -04:00