I found that on my laptop, I can find the mode of 10 million floats in 13 seconds. Just keep a count of each value encountered and select the largest value. There's no need to sort it.
Update: I forgot to mention that a hash is a good place to keep your counts...