Nikolas Klauser
a9138cdb36
[libc++] Optimize ranges::count for __bit_iterators
```
---------------------------------------------------------------
Benchmark old new
---------------------------------------------------------------
bm_vector_bool_count/1 1.92 ns 1.92 ns
bm_vector_bool_count/2 1.92 ns 1.92 ns
bm_vector_bool_count/3 1.92 ns 1.92 ns
bm_vector_bool_count/4 1.92 ns 1.92 ns
bm_vector_bool_count/5 1.92 ns 1.92 ns
bm_vector_bool_count/6 1.92 ns 1.92 ns
bm_vector_bool_count/7 1.92 ns 1.92 ns
bm_vector_bool_count/8 1.92 ns 1.92 ns
bm_vector_bool_count/16 1.92 ns 1.92 ns
bm_vector_bool_count/64 2.24 ns 2.25 ns
bm_vector_bool_count/512 3.19 ns 3.20 ns
bm_vector_bool_count/4096 14.1 ns 12.3 ns
bm_vector_bool_count/32768 84.0 ns 83.6 ns
bm_vector_bool_count/262144 664 ns 661 ns
bm_vector_bool_count/1048576 2623 ns 2628 ns
bm_vector_bool_ranges_count/1 1.07 ns 1.92 ns
bm_vector_bool_ranges_count/2 1.65 ns 1.92 ns
bm_vector_bool_ranges_count/3 2.27 ns 1.92 ns
bm_vector_bool_ranges_count/4 2.68 ns 1.92 ns
bm_vector_bool_ranges_count/5 3.33 ns 1.92 ns
bm_vector_bool_ranges_count/6 3.99 ns 1.92 ns
bm_vector_bool_ranges_count/7 4.67 ns 1.92 ns
bm_vector_bool_ranges_count/8 5.19 ns 1.92 ns
bm_vector_bool_ranges_count/16 11.1 ns 1.92 ns
bm_vector_bool_ranges_count/64 52.2 ns 2.24 ns
bm_vector_bool_ranges_count/512 452 ns 3.20 ns
bm_vector_bool_ranges_count/4096 3577 ns 12.1 ns
bm_vector_bool_ranges_count/32768 28725 ns 83.7 ns
bm_vector_bool_ranges_count/262144 229676 ns 662 ns
bm_vector_bool_ranges_count/1048576 905574 ns 2625 ns
```
Reviewed By: #libc, ldionne
Spies: arichardson, ldionne, libcxx-commits
Differential Revision: https://reviews.llvm.org/D156956
2023-10-06 22:58:41 +02:00
..
2023-06-19 11:19:51 -04:00
2023-10-06 22:58:41 +02:00
2023-02-21 17:11:21 +01:00
2023-08-01 10:28:25 -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-03-11 16:28:24 +01:00
2023-06-19 11:19:51 -04:00
2023-08-15 12:20:40 -07:00
2023-06-19 11:19:51 -04:00
2023-09-18 11:56:10 -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-08-15 12:20:40 -07:00