[all-commits] [llvm/llvm-project] a9138c: [libc++] Optimize ranges::count for __bit_iterators
philnik777 via All-commits
all-commits at lists.llvm.org
Fri Oct 6 13:58:57 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a9138cdb36ccc79bff4dae9b050aa0a01b8ba809
https://github.com/llvm/llvm-project/commit/a9138cdb36ccc79bff4dae9b050aa0a01b8ba809
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-10-06 (Fri, 06 Oct 2023)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/count.bench.cpp
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__bit_reference
M libcxx/include/bitset
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
M libcxx/utils/data/ignore_format.txt
Log Message:
-----------
[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
More information about the All-commits
mailing list