小编and*_*vsm的帖子

如果没有提供默认大小,Vec 何时重新分配?

a 的默认大小是多少Vec::new()?如果超过默认大小,何时重新分配?一旦向量增长足够,我在使用向量时会遇到一些性能问题(我认为这是主要原因)。该向量具有Vec<u8>值,因此所得向量如下所示

let items: Vec<Vec<u8>> = Vec::new();
Run Code Online (Sandbox Code Playgroud)

我正在进行大量插入,只是为了看看它是否能够处理数百万个值,但是一旦达到约 30k 个值,插入过程往往会增加一倍的时间,并且随着时间的推移,它会再次增加一倍。

我想在向量中存储一些标识符,以便稍后在 API 的向量上实现一些分页,但我认为使用无界向量会导致此问题,我不确定。

除了使用向量之外,我还HashMap同时使用 a 来插入Vec<u8>键和一些对象作为值,所以HashMap也可能是问题。

vector rust

1
推荐指数
1
解决办法
1042
查看次数

标签 统计

rust ×1

vector ×1