簡體   English   中英

在內存中對大型向量進行排序的有效方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM