预测Swift中字典的内存大小



是否以某种方式记录了在Swift中使用多少内存字典,给定它将包含的元素数量?

我一直在寻找答案,但是我在这个话题上找到的所有信息都是模糊的。我也试着通过阅读Swift的源代码来自己解决这个问题,但这对我来说太复杂了。

可以检查Dictionary的声明。这是一个相当大的文件,但经过一段时间的观察,我认为字典使用的字节量遵循以下约束:

bytes > (strideof(Key) + strideof(Value)) * 4/3 * capacity
bytes is a power of 2

我不是百分之百确定,因为如果没有自己写的话,很难理解源码。看看这里,这里,这里和这里。也许可以自己编译它,并在大小变化时放入prints,但我不愿意这样做。你为什么要知道它的尺寸?

相关内容

  • 没有找到相关文章

最新更新