Add Neon implementation of std::swap_ranges by hazzlim · Pull Request #5819 · microsoft/STL (original) (raw)
std_swap_ranges<uint8_t, highly_aligned_allocator>/1
0.5x
std_swap_ranges<uint8_t, highly_aligned_allocator>/5
0.9x
std_swap_ranges<uint8_t, highly_aligned_allocator>/15
1.9x
std_swap_ranges<uint8_t, highly_aligned_allocator>/26
4.1x
std_swap_ranges<uint8_t, highly_aligned_allocator>/38
4.8x
std_swap_ranges<uint8_t, highly_aligned_allocator>/60
7.3x
std_swap_ranges<uint8_t, highly_aligned_allocator>/125
12.3x
std_swap_ranges<uint8_t, highly_aligned_allocator>/800
21.9x
std_swap_ranges<uint8_t, highly_aligned_allocator>/3000
22.4x
std_swap_ranges<uint8_t, highly_aligned_allocator>/9000
22.5x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/1
0.5x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/5
1x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/15
1.9x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/26
3.9x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/38
4.9x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/60
7.5x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/125
11.8x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/800
14.6x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/3000
15.1x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/9000
14.7x
clang-cl Speedup
std_swap_ranges<uint8_t, highly_aligned_allocator>/1
0.6x
std_swap_ranges<uint8_t, highly_aligned_allocator>/5
1.1x
std_swap_ranges<uint8_t, highly_aligned_allocator>/15
1.5x
std_swap_ranges<uint8_t, highly_aligned_allocator>/26
1.4x
std_swap_ranges<uint8_t, highly_aligned_allocator>/38
1.4x
std_swap_ranges<uint8_t, highly_aligned_allocator>/60
1.5x
std_swap_ranges<uint8_t, highly_aligned_allocator>/125
1.5x
std_swap_ranges<uint8_t, highly_aligned_allocator>/800
1x
std_swap_ranges<uint8_t, highly_aligned_allocator>/3000
1x
std_swap_ranges<uint8_t, highly_aligned_allocator>/9000
1x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/1
0.6x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/5
1.2x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/15
1.5x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/26
1x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/38
1.2x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/60
1.4x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/125
1.4x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/800
1x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/3000
1x
std_swap_ranges<uint8_t, not_highly_aligned_allocator>/9000
1.1x