ETS是否设置保证元组的内部顺序与它们的插入顺序相同?例如:我通过每秒插入一个元组来保存日志,时间戳是关键。在这个例子中,是否设置保证元组按键排序?
我理解ordered_set会按照我的意愿行事,但它有插入开销。因此,如果set保持插入顺序,那么在我的示例中使用set会更有效。那么,是吗? : - )
提前致谢, 尼古拉
答案 0 :(得分:5)
不,对于表类型set
,根本无法保证密钥的排序顺序。对它们进行哈希处理,然后使用哈希值将元素放入表中。该表有时会调整大小并使用,因此订单会发生变化。所以不,你很幸运。
答案 1 :(得分:2)
即使ETS set
今天完成了您的假设,也无法保证将来会继续这样做 - 尤其是当有{{1}时}它具有您需要的确切属性。