Skip to content
Quick sort code using AVX2 instructions
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README
gcc_sort_doublequad.cpp
gcc_sort_long.cpp
gcc_sort_pointers.cpp
measurements.h
qsort_AVX2_HSW_256bit_double.s
qsort_AVX2_HSW_256bit_double_C.c
qsort_AVX2_HSW_256bit_doublequad.s
qsort_AVX2_HSW_256bit_float.s
qsort_AVX2_HSW_256bit_int.s
qsort_AVX2_HSW_256bit_long.s
qsort_AVX2_HSW_256bit_ptrs.s
qsort_AVX3_SKL_512bit_long.s

README

This repository contains the code used to benchmark: https://academic.oup.com/comjnl/article-abstract/59/1/83/2568602/Fast-Quicksort-Implementation-Using-AVX.

Not currently structured, it can be used as a reference point.

The quicksort implementation, while slower for the common types than the Intel IPP library that uses radix sort, at least for simple arrays, is significantly faster when there is nee to sort by a key greater than 8 bytes, or more than one key.
You can’t perform that action at this time.