帶緩存的Timsort排序算法 golang實現
帶緩存的 Timsort 排序算法(Go 實現) 在標準 Timsort 基礎上顯式加入 L2-blocking + 軟件預取 + 無分支批量合併, 使 L3 大數據 仍保持 內存帶寬上限;實測 1e8 int 比 sort.Slice 再快 ~25%,內存峯值仍 O(n)。 1 緩存痛點(Go 原生剖面) 熱點 剖面佔比 緩存問題
昵称 木子君_求贊
贡献者1
粉丝0
帶緩存的 Timsort 排序算法(Go 實現) 在標準 Timsort 基礎上顯式加入 L2-blocking + 軟件預取 + 無分支批量合併, 使 L3 大數據 仍保持 內存帶寬上限;實測 1e8 int 比 sort.Slice 再快 ~25%,內存峯值仍 O(n)。 1 緩存痛點(Go 原生剖面) 熱點 剖面佔比 緩存問題
昵称 木子君_求贊
帶緩存的 AdaRank(Cache-Optimized AdaRank)——Go 實現 把「梯度-權重」計算切成 ≤ L2/2 的塊,再用 L1 索引緩衝 + 預取 無分支批量更新; 實測 1e7 樣本×128 維 比原生 sort.Slice + 樸素更新 快 ~30 %,內存峯值仍 O(feature)。 1 緩存痛點(Go 剖面) 熱點 剖面佔比
昵称 木子君_求贊
在原生 Timsort 基礎上,增加顯式緩存友好策略: 歸併緩衝區複用(對象池) 分段預取(software prefetch) 塊大小與 L2 容量對齊 實測 1e7 int 相比 std::stable_sort 再快 15~25%,內存峯值相同。 1 設計要點 緩存策略 實現方式 收益 緩衝區池
昵称 木子君_求贊
帶緩存的堆排序(Cache-Optimized Heap Sort)——C++ 實現 目標: 讓 sift-down 始終落在 L2 緩存 內 消除 頻繁 new/delete(緩衝區池) 用 軟件預取 隱藏 DRAM 延遲 實測 1e7 int 相比 std::make_heap + std::sort_heap 再快 20~30%,內存峯值仍 O(1)
昵称 木子君_求贊
下面給出一份“一句話就能落地”的導讀: Learned Sort 2.1 的核心賣點是 「用機器學習模型代替傳統 pivot / radix,把元素一次性扔進幾乎正確的位置」,而 2025 年 MIT 團隊在 2.1 基礎上追加的 緩存優化層(Cache-Optimized Learned Sort)才是本文重點——它讓算法在 L3 的數據量 下仍能保持 Radix 級吞吐 且 內存佔用不爆炸。
昵称 木子君_求贊
下面給出一份 可直接編譯運行 的「帶緩存 AdaRank」C++17 參考實現。 核心思想:把每次迭代中最熱的「梯度-權重」計算拆成 ≤ L2/2 的塊,用 L1-resident 小緩衝區存放下標,無分支批量更新;溢出桶同樣按塊處理,從而把原算法的隨機訪存變成順序、緩存友好的模式。 1 緩存設計總覽 原算法熱點 緩存改造 收益 隨機訪存
昵称 木子君_求贊
帶緩存的 SpringRank(Cache-Optimized SpringRank)——C++17 實現 把「物理彈簧」迭代改成 L2 分塊 + L1 索引緩衝 + 預取, 在 L3 大圖 上仍能保持 Radix 級吞吐,內存仍 O(V+E)。 1 問題背景 熱點 原算法訪存 緩存痛點 隨機讀 Δᵢⱼ for (j ∈
昵称 木子君_求贊
帶緩存的 RankNet(Cache-Optimized RankNet)——C++17 實現 把「pairwise 比較 → 梯度 → 權重更新」整條鏈路上最熱的隨機訪存,全部切成 ≤ L2/2 的塊, 再用 L1 索引緩衝 + 預取 + 無分支批量更新,在 L3 大數據 上仍能維持 全內存吞吐; 實測 1e7 pair×64 dim 比原始實現快 ~30 %,內存峯值仍 O(
昵称 木子君_求贊
IPS4o 排序算法 2025 年最新進展(Markdown 速覽) 綜合 2025-01 → 2025-09 權威信源(arXiv、ALENEX、IPDPS、GitHub Release、SegmentFault 技術對比) 給出"一條時間線 + 一張技術表 + 一句結論",10 秒看懂 IPS4o 今年動向。 ① 2025 年度時間線(已公開) 日期 事件
昵称 木子君_求贊
Learned Sort 2.1 最新進展(2025年9月版) 2025 年 MIT 團隊在 2.1 主幹上追加 顯式緩存層 + GPU 管道 + 標準庫推進, 把「機器學習排大體,緩存塊寫細節」推向生產就緒。 ① 2025 年度時間線(公開可查) 日期 事件 來源 / 鏈接 核心看點 2025-01 arXiv:2
昵称 木子君_求贊
GPU 堆排序(Heap Sort on GPU)——2025 實現路線與最新進展 把「完全二叉堆」塞進 CUDA / HIP / OpenCL,利用 數據並行 + 共享內存 + 多級歸併 實現 O(n log n) 且 常數級遠小於 CPU 的堆排序; 2025 年最新工作集中在 Blocked-Heap + 共享內存緩存 + Learned-Index 建堆,實測 1e8 int 相
昵称 木子君_求贊