[英]Efficient way to sort large vectors in-memory
我需要根據一些用戶定義的功能,一次又一次地對64GB RAM高性能計算(HPC)機器上的32GB用戶定義數據類型的大型向量進行排序。 我使用std :: sort相同。 但是,事實證明std :: sort花費了大量的時間> 1小時。 我還可以使用其他一些比std :: sort排序更快的函數。
我在系統上使用以下gcc版本:gcc(Ubuntu / Linaro 4.6.4-6ubuntu2)4.6.4
您可能需要混合使用std :: sort()(使用quicksort算法)和mergesort並在此處應用多線程。
例如,在CPU中有一定數量的內核,可能需要拆分數據,同時在內核上按std :: sort對每個部分進行排序,然后將它們合並,就像mergesort合並已排序的數組一樣。
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.