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-07-20 15:53:27 -04:00
2023-07-06 17:21:08 +00:00
2023-04-29 20:41:42 -07:00
2023-06-06 13:58:52 -07:00
2023-06-28 15:10:31 -07:00
2023-07-12 10:12:58 -07:00
2023-06-06 13:58:52 -07:00
2023-07-06 16:46:34 -04:00
2023-06-30 13:48:16 -07:00
2023-05-18 15:37:28 -07:00
2023-07-06 16:46:34 -04:00
2023-06-19 09:05:14 -04:00
2023-06-05 15:08:01 -07:00
2023-08-01 10:28:25 -07:00
2023-02-15 16:52:25 +01:00
2023-05-31 18:15:20 -07:00
2023-06-05 10:00:02 -07:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-02-15 16:52:25 +01:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-06-30 09:17:24 -04:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-07-06 17:21:08 +00:00
2023-05-18 15:37:28 -07:00
2023-06-06 13:58:52 -07:00
2023-06-19 09:05:14 -04:00
2023-07-06 17:21:08 +00:00
2023-04-16 15:23:23 +02:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-07-06 17:21:08 +00:00
2023-02-15 16:52:25 +01:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-02-15 16:52:25 +01:00
2023-07-06 16:46:34 -04:00
2023-07-06 16:46:34 -04:00
2023-06-06 13:58:52 -07:00
2023-06-29 14:49:51 -07:00
2023-06-06 13:58:52 -07:00
2023-06-29 14:49:51 -07:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-07-03 09:40:09 -04:00
2023-07-20 14:45:36 -07:00
2023-07-31 18:39:02 -07:00
2023-07-03 09:40:09 -04:00
2023-07-03 09:40:09 -04:00
2023-07-03 09:40:09 -04:00
2023-07-03 09:40:09 -04:00
2023-05-11 13:54:28 -07:00
2023-07-03 09:40:09 -04:00
2023-07-03 09:40:09 -04:00
2023-07-03 09:40:09 -04:00
2023-07-05 09:51:11 -07:00
2023-07-29 07:33:35 -07:00
2023-07-03 09:40:09 -04:00
2023-07-03 09:40:09 -04:00
2023-07-06 17:21:08 +00:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-07-02 16:56:32 +02:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-02-15 16:52:25 +01:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-02-15 16:52:25 +01:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-05-15 11:35:30 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-27 10:52:08 -07:00
2023-06-19 11:19:51 -04:00
2023-06-19 11:19:51 -04:00
2023-06-28 15:10:31 -07:00
2023-05-18 15:37:28 -07:00
2023-05-18 15:37:28 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-06-06 13:58:52 -07:00
2023-05-18 15:37:28 -07:00
2023-05-18 15:37:28 -07:00
2023-06-29 14:49:51 -07:00
2023-07-06 17:21:08 +00:00
2023-06-06 13:58:52 -07:00
2023-06-29 14:49:51 -07:00
2023-06-30 09:17:24 -04:00
2023-06-30 09:17:24 -04:00
2023-07-12 10:12:58 -07:00
2023-02-15 16:52:25 +01:00
2023-07-06 17:21:08 +00:00
2023-02-21 17:11:21 +01:00
2023-07-06 17:21:08 +00:00