Fast quicksort implementation using AVX instructions

Shay Gueron, Vlad Krasnov

Research output: Contribution to journalArticlepeer-review

Abstract

This article describes a technique for implementing the quicksort sorting algorithm. Our method 'vectorizes' the computations and leverages the capabilities of the advanced vector extensions (AVX) instructions, available on Intel Core processors, and of the AVX2 instructions that were introduced with Intel's recent architecture codename Haswell. Our solution offers several advantages when compared with other high-performance sorting implementations, such as the radix sort, as implemented in Intel IPP library, or the introsort, as implemented in the C++ STL. In addition to sorting numeric arrays, our method can also be used to sort complex structures with numeric keys and even pointers to such structures.

Original languageEnglish
Pages (from-to)83-90
Number of pages8
JournalComputer Journal
Volume59
Issue number1
DOIs
StatePublished - 2016

Bibliographical note

Publisher Copyright:
© 2015 The British Computer Society 2015. All rights reserved.

Keywords

  • AVX2

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'Fast quicksort implementation using AVX instructions'. Together they form a unique fingerprint.

Cite this