gpt4 book ai didi

c++ - 如何有效地将大量元素附加到 stxxl vector ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:41:54 24 4
gpt4 key购买 nike

我需要将大量元素附加到 stxxl vector 中。向 stxxl vector 添加元素的最有效方法是什么?现在,我正在使用 stxxl vector 的 push_back,但它似乎效率不高。它远未使磁盘带宽饱和。有没有更好的办法?

谢谢,哒

最佳答案

关于 "Efficient Sequential Reading and Writing to Vectors" 的大部分内容适用于您的情况。

除了使用命令式循环填充 vector 的 vector_bufwriter 之外,还有一种 stxxl::stream::materialize() 的变体,它以函数式编程风格完成。

关于事先知道 vector 的大小:这对于 EM 来说并不是必需的,因为可以动态分配 block 。这些通常不会按顺序排列,但就这样吧,无论如何都不能保证。

我看到有人(我)让 vector_bufwriter 在填充到达 vector 的末端时自动加倍 vector 的大小。目前,我认为没有必要,也许应该改变这种行为。

关于c++ - 如何有效地将大量元素附加到 stxxl vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27113731/

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