llvm-capstone/libcxx/benchmarks
Sirui Mu c9d475c937 [libc++abi] Improve performance of __dynamic_cast
The original `__dynamic_cast` implementation does not use the ABI-provided `src2dst_offset` parameter which helps improve performance on the hot paths. This patch improves the performance on the hot paths in `__dynamic_cast` by leveraging hints provided by the `src2dst_offset` parameter. This patch also includes a performance benchmark suite for the `__dynamic_cast` implementation.

Reviewed By: philnik, ldionne, #libc, #libc_abi, avogelsgesang

Spies: mikhail.ramalho, avogelsgesang, xingxue, libcxx-commits

Differential Revision: https://reviews.llvm.org/D138005
2023-03-19 10:04:34 +01:00
..
algorithms [libc++] Optimize std::ranges::{min, max} for types that are cheap to copy 2023-03-11 16:28:24 +01:00
libcxxabi [libc++abi] Improve performance of __dynamic_cast 2023-03-19 10:04:34 +01:00
algorithms.partition_point.bench.cpp [libc++] [bench] Stop using uniform_int_distribution<char> in benchmarks. 2022-01-17 14:31:33 -05:00
allocation.bench.cpp [libc++] [bench] Stop using uniform_int_distribution<char> in benchmarks. 2022-01-17 14:31:33 -05:00
CartesianBenchmarks.h
CMakeLists.txt [libc++abi] Improve performance of __dynamic_cast 2023-03-19 10:04:34 +01:00
ContainerBenchmarks.h [libc++] Don't call key_eq in unordered_map/set rehashing routine 2022-07-10 11:44:12 +02:00
deque_iterator.bench.cpp [libc++] Refactor deque::iterator algorithm optimizations 2023-01-19 20:11:43 +01:00
deque.bench.cpp [libc++] Remove "// -*- C++ -*-" comments from all .cpp files. NFCI. 2021-10-01 12:06:59 -04:00
filesystem.bench.cpp [libc++] Fix benchmark failure 2022-01-24 12:05:09 -05:00
format_to_n.bench.cpp [libc++][format] Adds formatting benchmarks. 2021-11-28 13:12:53 +01:00
format_to.bench.cpp [libc++][format] Adds formatting benchmarks. 2021-11-28 13:12:53 +01:00
format.bench.cpp [libc++][format] Adds formatting benchmarks. 2021-11-28 13:12:53 +01:00
formatted_size.bench.cpp [libc++][format] Adds formatting benchmarks. 2021-11-28 13:12:53 +01:00
formatter_float.bench.cpp [libc++] Extend check for non-ASCII characters to src/, test/ and benchmarks/ 2022-08-23 18:36:38 -04:00
formatter_int.bench.cpp [libc++][format] Adds integral formatter benchmarks. 2022-07-12 19:17:57 +02:00
function.bench.cpp
GenerateInput.h [libc++] [bench] Stop using uniform_int_distribution<char> in benchmarks. 2022-01-17 14:31:33 -05:00
join_view.bench.cpp [libc++] Enable segmented iterator optimizations for join_view::iterator 2023-01-20 07:55:58 +01:00
lexicographical_compare_three_way.bench.cpp [libc++][spaceship] Implement lexicographical_compare_three_way 2023-02-12 14:51:08 -08:00
lit.cfg.py
lit.site.cfg.py.in
map.bench.cpp
monotonic_buffer.bench.cpp [libc++] Make pmr::monotonic_buffer_resource bump down 2023-01-12 18:36:45 +01:00
ordered_set.bench.cpp
random.bench.cpp [libc++] Replace modulus operations in std::seed_seq::generate with conditional checks. 2022-05-24 10:29:25 +02:00
std_format_spec_string_unicode.bench.cpp [libc++] Implements Unicode grapheme clustering 2022-07-20 18:38:32 +02:00
string.bench.cpp
stringstream.bench.cpp
to_chars.bench.cpp
unordered_set_operations.bench.cpp [libc++] Don't call key_eq in unordered_map/set rehashing routine 2022-07-10 11:44:12 +02:00
util_smartptr.bench.cpp
Utilities.h
variant_visit_1.bench.cpp
variant_visit_2.bench.cpp
variant_visit_3.bench.cpp
VariantBenchmarks.h
vector_operations.bench.cpp