我需要将大量数据存储在 Invert Index 的地图中,但我的数据非常庞大,我看到随着 Map 变得越来越大,它变得越来越慢。我们正在谈论一个具有非常稀疏索引的 Map 容器,涵盖 1 到数十亿。
在我的程序的一次迭代中,将计算一些数字,以获取许多要存储的键值(可能是数千个) -这意味着 Map 的大小在每次迭代中都会增加大约数千个左右。我看到在最初的几次迭代中,需要 20 秒左右,但在第 70 次左右的迭代中,需要 100 秒左右。我有大约 5000 组数据——也就是说,我需要对所有这些数据进行 5000 次迭代。随着每次迭代的时间呈指数增长,这将需要数天的时间来计算,这是不可接受的。
那么在这种情况下我能做些什么吗?