> Nitpick, but you can only sort in linear time if your sort key domain is bounded (e.g. 64-bit integers).
It is more subtle than this. Top-down radix sort (which discrimination generalizes) is linear time in the number of input bytes, rather than the number of input records. One special case is when each element has a constant number of bytes, like you mention, but it isn't the only case.