benchmarking sorting algorithms: std::sort vs my naive radix
I'm not too surprised to see the radix sort being faster in this use case, 32 bits is very short for a key.
You may want to look at this comparison as well as at the last paragraph of this History section.
About the bench method, I would:

Try with values already sorted.
Try with values sorted in reverse.
Try with multiple sets of random values, each set identified by its seed (so no random seed).
Try with the same as above but with the first half filled with random values and the second half being a copy of the first half.

I would also test the end result, of course.