Radix Sort

On my search for a fast integer sorting algorithm I came across Radix Sort, which is theoretically faster then quick sort.
So I searched the web for a decent java implementation and came across Erik Gorset's implementation.
While testing I found a bug in the code in that it did not sort the data correctly and that is also did not sort mixed numbers (negative and positive) correctly.
After analyzing and debugging the code I managed to solve the issues.
The fixed up version appears to be 2.5 times faster than quicksort on large data sets (N > 1000) when sorting integers.

Benchmark

typesizerunsquickradix
byte100100000016081451
byte10001000003230624
byte10000100004010515
byte10000010003901515
byte10000001003790702
byte10000000103759827
short100100000014522340
short100010000038391263
short100001000068033432
short100000100082381732
short100000010074881607
short100000001069741856
int100100000013272340
int100010000034021357
int100001000069743526
int100000100083622949
int100000010097983884
int1000000010112324617
long100100000014362403
long100010000040721373
long100001000070373556
long100000100087063167
long1000000100101874649
long1000000010118405367

Source