Comparing Bucket and Sleep Sorting Algorithms

Published on Saturday, December 23, 2023 (2 months ago)

Wether you’re a beginner or a greatly experienced developer, this comparison will come in handy to find the fastest of two sorting algorithms. Namely bucket and sleep.

Instead of a wall-of-text, we’ll get into the nitty-gritty right away!

Bucket Sort

The bucket sort, also known as bin sort.

It uses the Scatter-Gather approach to sort the array. The merge sort uses this to divide (scatter) the provided array into separate groups - known as buckets. Then sorts each individual bucket, and finally concatenate, or gather, them together to its final form.

The worst-case performance of the bucket sort is O(n2)O(n^2).

Sleep Sort

The sleep sorting algorithm is amongst some of the newer algorithms. It was first posted on the anonymous imageboard, “forum”-like, 4chan in 2011. This has later gotten a lot attention on Hacker News.

It is mostly known to be a joke algorithm, and does not have many real-life use-cases. The original implementation is simply “sorting” by waiting the the amount of the current number at the current number in milliseconds.

Its big-o is definitely not one of the best, being O(n2)O(n^2).

Comparison

We will start, with an array of 3500 random (hopefully distinct) floating-point values, to test our two sorting algorithms.

Now that we have some data to test on, we want to add the algorithm for the bucket sort. This goes as follows.

And of course the sleep sort as well, otherwise we won’t have anything to compare against.

Now, let’s test the two against one another.

If you want to read about something else here is a collection of some different sorting algorithms. You can also navigate directly to the implementation of bucket sort VS. sleep sort, this is espescially useful if you want to manipulate each of these algorithms yourself.

Running this benchmark against the bucket sort and sleep sort, we will notice that one is 147.50x faster than the other, which is … drum roll, please! The great bucket sorting algorithm!

This means we can almost run the bucket sort algorithm almost up to 148 times in the time it takes sleep sort to run once!

Artificial Intelligence

We asked a well-known Artificial Intelligence (A.I. for short, AI for the lazy and ai for the lazier) to nickname our winner, the bucket sort, and this shall hence on be known as ”The Bucket Wrangler“!

To be fair, of course, we also asked for one for our lesser speedy algorithm, the sleep sort, which is now known as ”The Snooze Button“.

Epilogue

Does this mean you should always choose the bucket sorting algorithm when you implement a new app? Well, not exactly… Please do remember that, as with everything in life, there are pros and cons as well, so choose wisely!

There are a lot of other sorting algorithms out there. Yet more to be discovered! Who knows, you might find the next one with an immersive speed increase or magnificent memory benefits!


Thanks for reading, and I truly hope this will better your understanding of the speed of bucket and sleep sorting algorithms.

More posts are available on the blog.