數組排序方法的性能比較(上):注意事項及試驗
昨天有朋友寫了一篇文章,其中比較了List的Sort方法與LINQ中排序方法的性能,而最終得到的結果是“LINQ排序方法性能高于List.Sort方法”。這個結果不禁讓我很疑惑。因為List.Sort方法是改變容器內部元素的順序,而LINQ排序后得到的是一個新的序列。假如兩個排序方法的算法完全一致,LINQ排序也比對方多出元素復制的開銷,為什么性能反而會高?如果LINQ排序的算法/實現更為優秀,那為什么.NET Fx不將List.Sort也一并優化一下呢?于是今天我也對這個問題進行了簡單的試驗。