Nikolas Klauser
8670b53e11
[libc++] Optimize ranges::find for vector<bool>
Benchmark results:
```
----------------------------------------------------------------
Benchmark old new
----------------------------------------------------------------
bm_vector_bool_ranges_find/1 5.64 ns 6.08 ns
bm_vector_bool_ranges_find/2 16.5 ns 6.03 ns
bm_vector_bool_ranges_find/3 20.3 ns 6.07 ns
bm_vector_bool_ranges_find/4 22.2 ns 6.08 ns
bm_vector_bool_ranges_find/5 23.5 ns 6.05 ns
bm_vector_bool_ranges_find/6 24.4 ns 6.10 ns
bm_vector_bool_ranges_find/7 26.7 ns 6.10 ns
bm_vector_bool_ranges_find/8 25.0 ns 6.08 ns
bm_vector_bool_ranges_find/16 27.9 ns 6.07 ns
bm_vector_bool_ranges_find/64 44.5 ns 5.35 ns
bm_vector_bool_ranges_find/512 243 ns 25.7 ns
bm_vector_bool_ranges_find/4096 1858 ns 35.6 ns
bm_vector_bool_ranges_find/32768 15461 ns 93.5 ns
bm_vector_bool_ranges_find/262144 126462 ns 571 ns
bm_vector_bool_ranges_find/1048576 497736 ns 2272 ns
```
Reviewed By: #libc, Mordante
Spies: var-const, Mordante, libcxx-commits
Differential Revision: https://reviews.llvm.org/D156039
2023-08-01 10:28:25 -07:00
..
2023-08-01 10:28:25 -07:00
2023-05-13 16:27:03 -07:00
2023-08-01 10:28:25 -07:00
2023-06-28 15:10:31 -07:00
2023-07-24 19:54:12 -07:00
2023-07-06 17:21:08 +00:00
2023-07-11 08:58:27 -04:00
2023-06-28 15:10:31 -07:00
2023-06-28 15:10:31 -07:00
2023-06-15 08:56:45 -07:00
2023-07-20 10:14:43 -07:00
2023-06-29 15:37:03 -07:00
2023-07-24 19:54:12 -07:00
2023-07-24 19:54:12 -07:00
2023-08-01 10:28:25 -07:00
2023-07-20 10:14:43 -07:00
2023-07-31 17:19:49 -07:00
2023-07-25 12:39:35 -06:00
2023-07-18 20:04:21 +02:00
2023-07-07 14:09:27 -07:00
2023-06-15 08:56:45 -07:00
2023-07-12 13:27:33 -07:00
2023-06-28 15:10:31 -07:00
2023-06-28 15:10:31 -07:00
2023-07-20 22:48:18 -07:00
2023-07-24 19:54:12 -07:00
2023-07-24 14:57:01 -07:00
2023-07-08 13:54:30 +02:00
2023-06-29 15:37:03 -07:00
2023-07-20 12:49:20 -07:00
2023-06-15 08:56:45 -07:00
2023-06-30 13:51:48 -07:00
2023-07-20 12:49:20 -07:00
2023-07-24 19:54:12 -07:00
2023-07-14 16:58:47 -07:00
2023-06-20 10:59:05 -04:00
2023-08-01 10:28:25 -07:00
2023-07-31 18:52:03 -07:00
2023-07-17 09:32:36 -04:00
2023-07-24 14:57:01 -07:00
2023-07-03 09:40:09 -04:00
2023-05-30 17:59:32 -07:00
2023-07-24 14:57:01 -07:00
2023-05-18 15:37:28 -07:00
2023-07-27 14:50:18 -07:00
2023-07-20 12:49:20 -07:00
2023-07-24 14:57:01 -07:00
2023-07-06 17:21:08 +00:00
2023-07-20 14:45:36 -07:00
2023-07-06 17:21:08 +00:00
2023-07-20 10:14:43 -07:00
2023-07-15 12:50:28 +02:00
2023-08-01 10:28:25 -07:00
2023-06-29 14:49:51 -07:00
2023-06-12 22:22:22 +03:00
2023-08-01 10:28:25 -07:00
2023-07-31 17:19:39 -07:00
2023-06-15 08:56:45 -07:00
2023-06-11 19:52:02 +03:00
2023-06-15 08:56:45 -07:00
2023-05-25 07:59:50 -07:00
2023-07-24 20:32:56 +02:00
2023-05-11 13:54:28 -07:00
2023-06-27 09:18:40 -04:00
2023-05-24 17:16:22 +02:00
2023-07-18 11:01:10 -07:00
2023-06-28 15:10:31 -07:00
2023-06-29 14:49:51 -07:00
2023-06-28 15:10:31 -07:00
2023-06-15 08:56:45 -07:00
2023-06-15 08:56:45 -07:00
2023-06-15 08:56:45 -07:00
2023-05-24 08:48:18 -07:00
2023-06-29 14:49:51 -07:00
2023-07-05 17:34:23 -04:00
2023-07-31 17:19:39 -07:00
2023-07-07 17:53:09 -07:00
2023-07-20 10:14:43 -07:00
2023-07-24 19:54:12 -07:00
2023-07-20 10:14:43 -07:00
2023-07-31 17:19:39 -07:00
2023-07-25 06:12:56 -06:00
2023-06-12 09:41:56 +03:00
2023-06-11 19:49:35 +03:00
2023-07-31 17:19:39 -07:00
2023-07-11 08:58:27 -04:00
2023-07-07 17:53:09 -07:00
2023-06-01 08:52:08 -07:00
2023-07-24 19:54:12 -07:00
2023-05-24 08:48:18 -07:00
2023-07-22 11:28:17 +02:00
2023-07-24 19:54:12 -07:00
2023-07-20 22:48:18 -07:00
2023-06-19 17:04:35 +02:00
2023-07-03 09:40:09 -04:00
2023-07-06 17:21:08 +00:00
2023-07-24 19:54:12 -07:00
2023-07-18 11:01:10 -07:00
2023-07-24 19:54:12 -07:00
2023-07-20 10:14:43 -07:00
2023-07-19 17:13:34 +02:00
2023-07-24 19:54:12 -07:00
2023-06-15 08:56:45 -07:00
2023-06-05 15:10:36 +01:00
2023-05-24 08:48:18 -07:00
2023-07-20 10:14:43 -07:00
2023-07-20 10:14:43 -07:00
2023-06-15 08:56:45 -07:00
2023-06-17 12:28:52 +01:00
2023-07-24 19:54:12 -07:00
2023-05-24 07:51:27 +02:00
2023-06-15 08:56:45 -07:00
2023-07-20 10:14:43 -07:00
2023-07-20 10:14:43 -07:00
2023-05-23 18:44:41 +02:00
2023-06-15 08:56:45 -07:00
2023-07-24 19:54:12 -07:00
2023-07-24 19:54:12 -07:00
2023-07-20 22:48:18 -07:00
2023-05-10 15:43:38 -07:00