gpt4 book ai didi

erlang - 在术语下存储大量键/术语值的性能最好的erlang模块是什么

转载 作者:行者123 更新时间:2023-12-02 11:33:01 25 4
gpt4 key购买 nike

重点关注读取性能,我想创建一个术语,例如 Orddict 或 Proplist,其中包含大量(100,000 个)条目,每个条目包含一个 ID 和一个术语值。这个封装 Term 应该能够返回存储在其键下的值,就像 Orddict 能够做到的那样。

example:

K001 - Term001
K002 - Term002
K003 - Term003

包含整个集合的结果 Term 需要从一个函数传递到另一个函数,以实现多种计算目的,而不将其存储在持久性存储上以避免磁盘 I/O。我还选择在这个阶段不使用内存缓存,以避免此时架构的复杂性,因此我的重点是让所有这些都可以简单地进行键搜索。

Orddicts是按键排序的,与普通字典相比,它增强了键的查找。我不知道有任何其他 Erlang 模块可以在其术语中嵌入更有效的索引机制。

对于比 Orddict 更好的方法有什么建议吗?

最佳答案

实际上,orddict 是作为排序列表 ( source ) 实现的,因此它在插入和查找方面都表现不佳,尤其是当键按升序插入时。远离它;它不适用于您的用例。 dict 是一种基于哈希的数据结构,提供可靠的插入/​​查找性能。如果键的顺序对您很重要,请考虑使用基于树的映射(例如 gb_trees),因为您可以通过按序树遍历来提取有序键序列。

关于erlang - 在术语下存储大量键/术语值的性能最好的erlang模块是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15449850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com