gpt4 book ai didi

c++ - 在内存中对大 vector 进行排序的有效方法

转载 作者:行者123 更新时间:2023-11-28 06:18:33 24 4
gpt4 key购买 nike

我需要根据一些用户定义的函数,在 64GB RAM 高性能计算 (HPC) 机器上的内存中一次又一次地对 32GB 大小的用户定义数据类型的大型 vector 进行排序。我正在使用 std::sort 。但是,事实证明 std::sort 花费了大量时间 > 1 小时。是否有一些我可以使用的其他函数比 std::sort 排序更快。

我在我的系统上使用以下 gcc 版本:gcc (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4

最佳答案

您可能希望混合使用 std::sort()(使用快速排序算法)和合并排序,并在此处应用多线程。

例如,在 CPU 中有一定数量的核心,拆分数据,同时在核心上通过 std::sort 对每个部分进行排序,然后像合并排序合并排序数组一样合并它们可能是合理的。

问候

关于c++ - 在内存中对大 vector 进行排序的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29761307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com