No. For radix sort this constant factor is quite low, so it outperforms std::sort in most cases.
Try sorting a million integers, my results are:
std::sort: 60 ms;
radix-sort (LSB, hand coded, less than 20 lines): 11 ms.
It gets even better when you mix MSB with LSB for better locality.
No, there are no problems with doubles or negative integers.
For sizeof(key_value)<=16 B (8 for key, 8 for pointer), radix is the best sort on desktop computers.
Try sorting a million integers, my results are: std::sort: 60 ms; radix-sort (LSB, hand coded, less than 20 lines): 11 ms. It gets even better when you mix MSB with LSB for better locality.
No, there are no problems with doubles or negative integers. For sizeof(key_value)<=16 B (8 for key, 8 for pointer), radix is the best sort on desktop computers.