julia - 在 Julia,如果我删除!字典中的键和值,它会重新分配字典吗?
问题描述
具体来说,我对速度感兴趣。如果我从字典中删除一个条目,它会立即重新分配字典使用的空间吗?将值设置为空会更快吗?
解决方案
如果您delete!
是字典中的条目,则不会重新分配它。实际上字典目前不支持缩小(甚至empty!
不缩小它) - 它只能在需要时增长。
这意味着您已经向 dict 添加了很多条目,然后将它们删除,然后有时将这些剩余元素逐个元素复制到新字典中会节省内存(但不使用copy
,因为它会创建具有内存占用的副本,即与来源相同)。
但是请注意,如果键或值不是位类型,则从字典中删除条目将删除对它的引用(这意味着如果没有其他对它们的引用,Julia 将能够垃圾收集它们)。
推荐阅读
- reactjs - 更新状态时使用事件侦听器反应自定义钩子不起作用
- javascript - 用javascript反应显示相对时间
- google-maps - 用这种格式在谷歌地图中构建多边形
- git - 如何使用 git push prune 删除远程分支
- javascript - Javascript 在浏览器中返回对象,但在 VSCode 中没有任何内容
- android - Android UI 设计 - 使用 android studio UI 编辑器是否足够?
- spring - 带有 postgress 和 r2dbc 的 Spring 数据不起作用
- android - Android Studio:OneSignal 导致问题
- excel - 组合框中的索引值
- excel - 类型与变体/整数不匹配