クイックソートはあらかじめソートされた配列には遅いらしいですね。

バケットソートを選んだのは単に知的好奇心です。ただこんなに速いとは思わなかったですけど。
バケットソートは性質上他のソートと違って IComparable/IComparer モデルが適用できないor難しいので、Array.Sortを置き換えるとソースの可読性が著しく下がりますね。やはりマージソートが無難かな。別にバブルソートでもいいような。

//しかし.NETのListViewって何でこんなに遅いんでしょうね。
//配列のソートは数ミリ秒で済んでるのに。