Skip to content

eightomic/electronsort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ElectronSort

ElectronSort

Table of Contents

Introduction

ElectronSort is the efficient video game engine Shell Sort for GPUs.

Author

ElectronSort was created by William Stafford Parsons (a failed entrepreneur) as a product of Eightomic.

License

ElectronSort uses a proprietary license.

Implementation

ElectronSort was implemented in C.

electronsort.c

The electronsort function sorts (in ascending order without guaranteeing the preserved order of duplicate elements) an elements array of elements_length elements.

The integral type of each element in elements must match the integral type of element.

Speed

Each of the following results log the fastest process execution speed (in milliseconds) among several repetitions of a speed benchmark (using gcc -O3 from an AMD A4-9120C) that sorts various quantities (100k runs of 10, 10k runs of 100, 1k runs of 1k, 200 runs of 10k, 20 runs of 100k and 4 runs of 1m) of pseudorandom numbers (divided between mostly-sorted and unsorted distributions).

Sorting Algorithm Elapsed
electronsort 16ms, 27ms, 44ms, 121ms, 165ms, 518ms
shellsort_sedgewick_1982 17ms, 31ms, 53ms, 138ms, 182ms, 554ms
shellsort_ciura 17ms, 32ms, 55ms, 164ms, 215ms, 685ms
shellsort_papernov_stasevich 17ms, 32ms, 60ms, 181ms, 297ms, 936ms
shellsort_sedgewick_1986 18ms, 31ms, 52ms, 165ms, 208ms, 658ms
shellsort_lee 18ms, 31ms, 57ms, 167ms, 219ms, 686ms
shellsort_tokuda 18ms, 32ms, 57ms, 167ms, 217ms, 677ms
shellsort_hibbard 18ms, 32ms, 59ms, 181ms, 278ms, 913ms
shellsort_knuth 18ms, 33ms, 53ms, 149ms, 202ms, 657ms
shellsort_incerpi_knuth_sedgewick 18ms, 34ms, 56ms, 161ms, 210ms, 650ms
shellsort 24ms, 45ms, 70ms, 202ms, 285ms, 858ms