image-20220819163803756

Go 1.19 的 Sort 變快了

Go 1.19 的 Sort 已經從 QuickSort 換成跟 #Rustlang 還有 C++ #Boost 一樣的 Pattern-Defeating #Quicksort

想知道多關於 PD Quicksort 可以參考這篇字節跳動團隊 “”打造 Go 语言最快的排序算法”“(簡中)

關於 Pattern-Defeating Quicksort 解釋

強烈建議,這個影片可以看。

快速解釋什麼是 PD Quicksort?

  • 從 QuickSort 優化,最佳狀況從 O(n log n) –> O(n)
  • 最差狀況 O(n log n)

假設前提設定

image-20220825004251117

  • In-memory random access
  • Cheap comparison / moves

Pivot 挑選很重要

image-20220825004022080

根據不同場景,有其他更好建議

image-20220825003748676

相關文章:


Buy Me A Coffee

Evan

Attitude is everything