forked from OSchip/llvm-project
![]() We are introducing branchless variants for sort3, sort4 and sort5. These sorting functions have been generated using Reinforcement Learning and aim to replace __sort3, __sort4 and __sort5 variants for integral types. The libc++ benchmarks were run on isolated machines for Skylake, ARM and AMD architectures and achieve statistically significant improvement in sorting random integers on test cases from sort1 to sort262144 for uint32 and uint64. A full performance overview for Intel Skylake, AMD and Arm can be found here: https://bit.ly/3AtesYf Reviewed By: ldionne, #libc, philnik Spies: daniel.mankowitz, mgrang, Quuxplusone, andreamichi, philnik, libcxx-commits, nilayvaish, kristof.beyls Differential Revision: https://reviews.llvm.org/D118029 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CartesianBenchmarks.h | ||
ContainerBenchmarks.h | ||
GenerateInput.h | ||
Utilities.h | ||
VariantBenchmarks.h | ||
algorithms.bench.cpp | ||
algorithms.partition_point.bench.cpp | ||
allocation.bench.cpp | ||
deque.bench.cpp | ||
filesystem.bench.cpp | ||
format.bench.cpp | ||
format_to.bench.cpp | ||
format_to_n.bench.cpp | ||
formatted_size.bench.cpp | ||
formatter_float.bench.cpp | ||
function.bench.cpp | ||
lit.cfg.py | ||
lit.site.cfg.py.in | ||
map.bench.cpp | ||
ordered_set.bench.cpp | ||
std_format_spec_string_unicode.bench.cpp | ||
string.bench.cpp | ||
stringstream.bench.cpp | ||
to_chars.bench.cpp | ||
unordered_set_operations.bench.cpp | ||
util_smartptr.bench.cpp | ||
variant_visit_1.bench.cpp | ||
variant_visit_2.bench.cpp | ||
variant_visit_3.bench.cpp | ||
vector_operations.bench.cpp |