Skip to content

Commit 3dd2d13

Browse files
committed
Changed how partitioning small arrays is handled
1 parent 6dcd295 commit 3dd2d13

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/avx512-common-qsort.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,8 @@ X86_SIMD_SORT_INLINE arrsize_t partition_avx512(type_t *arr,
369369
return l_store;
370370
}
371371

372+
#include <iostream>
373+
372374
template <typename vtype,
373375
int num_unroll,
374376
typename type_t = typename vtype::type_t>
@@ -384,9 +386,8 @@ X86_SIMD_SORT_INLINE arrsize_t partition_avx512_unrolled(type_t *arr,
384386
arr, left, right, pivot, smallest, biggest);
385387
}
386388

387-
if (right - left < 4 * vtype::numlanes){
388-
return partition_avx512<vtype>(
389-
arr, left, right, pivot, smallest, biggest);
389+
if (right - left < 3 * num_unroll * vtype::numlanes){
390+
return partition_avx512<vtype>(arr, left, right, pivot, smallest, biggest);
390391
}
391392

392393
/* make array length divisible by vtype::numlanes , shortening the array */

0 commit comments

Comments
 (0)