【发布时间】:2019-01-09 08:42:24
【问题描述】:
ets 包的delete_object 的运行时间是多少?假设有n 条目具有相同的键k,那么delete_object 的运行时间是O(n) 还是O(1)?如果确实是O(1),那么lookup操作如何返回所有按插入时间排序的元组?
谢谢!
【问题讨论】:
标签: performance hashmap erlang ets
ets 包的delete_object 的运行时间是多少?假设有n 条目具有相同的键k,那么delete_object 的运行时间是O(n) 还是O(1)?如果确实是O(1),那么lookup操作如何返回所有按插入时间排序的元组?
谢谢!
【问题讨论】:
标签: performance hashmap erlang ets
erlang 邮件列表上的这篇文章来自 2011 年,但我认为它可能仍然存在:
http://erlang.org/pipermail/erlang-questions/2011-October/061705.html
Sverker Eriksson 给出的答案暗示查找时间将是O(n) wrt 相等键的数量:
插入/查找/删除分散键的平均恒定时间。一种 带有许多相同键的包可能会导致性能不佳 导致具有相同键的对象之间的线性搜索(以及其他 碰巧散列到同一个桶)。
【讨论】: