Table of Contents
Fetching ...

Improving Merge Sort and Quick Sort Performance by Utilizing Alphadev's Sorting Networks as Base Cases

Anas Gamal Aly, Anders E. Jensen, Hala ElAarag

TL;DR

This paper investigates integrating AlphaDev's assembly-optimized sorting networks, designed for small fixed sizes, as base cases within classical Merge Sort and Quick Sort. Through 11 network configurations tested on random, sorted, and nearly sorted data from 10k to 1M elements, the study demonstrates substantial performance gains, particularly for Merge Sort with the 6–8 configuration (up to approximately two times faster on certain inputs) and for sorted data in Quick Sort with the 3–5 configuration. The results reveal input-distribution-dependent benefits, with Merge Sort often outperforming Quick Sort on random data, while Quick Sort remains competitive on nearly sorted inputs. The work highlights the practical potential of combining AI-derived, low-level optimizations with traditional algorithms, while noting architecture limitations and suggesting directions for expanding network sizes and cross-architecture applicability to broaden impact.

Abstract

Recent work by Google DeepMind introduced assembly-optimized sorting networks that achieve faster performance for small fixed-size arrays (3-8). In this research, we investigate the integration of these networks as base cases in classical divide-and-conquer sorting algorithms, specifically Merge Sort and Quick Sort, to leverage these efficient sorting networks for small subarrays generated during the recursive process. We conducted benchmarks with 11 different optimization configurations and compared them to classical Merge Sort and Quick Sort. We tested the configurations with random, sorted and nearly sorted arrays. Our optimized Merge Sort, using a configuration of three sorting networks (sizes 6, 7, and 8), achieves at least 1.5x speedup for random and nearly sorted arrays, and at least 2x speedup for sorted arrays, in comparison to classical Merge Sort. This optimized Merge Sort surpasses both classical Quick Sort and similarly optimized Quick Sort variants when sorting random arrays of size 10,000 and larger. When comparing our optimized Quick Sort to classical Quick Sort, we observe a 1.5x speedup using the 3-to-5 configuration on sorted arrays of size 10,000. The 6-to-8 configuration maintains a consistent 1.5x improvement across sorted arrays from 25,000 to 1 million elements. Our findings demonstrate the potential of integrating AI-optimized sorting networks to enhance the performance of classical sorting algorithms.

Improving Merge Sort and Quick Sort Performance by Utilizing Alphadev's Sorting Networks as Base Cases

TL;DR

This paper investigates integrating AlphaDev's assembly-optimized sorting networks, designed for small fixed sizes, as base cases within classical Merge Sort and Quick Sort. Through 11 network configurations tested on random, sorted, and nearly sorted data from 10k to 1M elements, the study demonstrates substantial performance gains, particularly for Merge Sort with the 6–8 configuration (up to approximately two times faster on certain inputs) and for sorted data in Quick Sort with the 3–5 configuration. The results reveal input-distribution-dependent benefits, with Merge Sort often outperforming Quick Sort on random data, while Quick Sort remains competitive on nearly sorted inputs. The work highlights the practical potential of combining AI-derived, low-level optimizations with traditional algorithms, while noting architecture limitations and suggesting directions for expanding network sizes and cross-architecture applicability to broaden impact.

Abstract

Recent work by Google DeepMind introduced assembly-optimized sorting networks that achieve faster performance for small fixed-size arrays (3-8). In this research, we investigate the integration of these networks as base cases in classical divide-and-conquer sorting algorithms, specifically Merge Sort and Quick Sort, to leverage these efficient sorting networks for small subarrays generated during the recursive process. We conducted benchmarks with 11 different optimization configurations and compared them to classical Merge Sort and Quick Sort. We tested the configurations with random, sorted and nearly sorted arrays. Our optimized Merge Sort, using a configuration of three sorting networks (sizes 6, 7, and 8), achieves at least 1.5x speedup for random and nearly sorted arrays, and at least 2x speedup for sorted arrays, in comparison to classical Merge Sort. This optimized Merge Sort surpasses both classical Quick Sort and similarly optimized Quick Sort variants when sorting random arrays of size 10,000 and larger. When comparing our optimized Quick Sort to classical Quick Sort, we observe a 1.5x speedup using the 3-to-5 configuration on sorted arrays of size 10,000. The 6-to-8 configuration maintains a consistent 1.5x improvement across sorted arrays from 25,000 to 1 million elements. Our findings demonstrate the potential of integrating AI-optimized sorting networks to enhance the performance of classical sorting algorithms.

Paper Structure

This paper contains 14 sections, 1 equation, 8 figures, 3 tables, 2 algorithms.

Figures (8)

  • Figure 1: Merge Sort Speed Up Analysis with Random Arrays
  • Figure 2: Merge Sort Speed Up Analysis with Sorted Arrays
  • Figure 3: Merge Sort Speed Up Analysis with Nearly Sorted Arrays
  • Figure 4: Quick Sort Speed Up Analysis with Random Arrays
  • Figure 5: Quick Sort Speed Up Analysis with Sorted Arrays
  • ...and 3 more figures