【发布时间】:2011-12-17 23:15:02
【问题描述】:
哪种序列化方法/函数/BIF 等在 Erlang 中性能最好? 我的情况是:
- 我有内存缓存,其中包含我需要检索每个请求的数据。
- 检索的数据是二进制项(当我执行 binary_to_term 时有一个小数据列表)
- 我需要对这些数据进行一些逻辑处理,因此我需要对它们进行反序列化。
- 在另一个系统上,我将该数据设置在该内存缓存中,以便我可以更改所有内容。
请帮我选择序列化的方法。 只有表现才是我的目标。 谢谢!
【问题讨论】:
-
你能解释一下你的架构吗?第 1 点和第 4 点中的内存缓存实例是否相同?数据是否被非 erlang 应用程序使用? binary_to_term 太慢了吗?如果是这样,您当前的基准数字是多少,您需要达到什么水平?您是否尝试过使用 mnesia 或 ets?为什么不在管理您现在放入内存缓存中的数据的节点上保持进程处于活动状态。
-
1. Memcache 实例是同一个。 2. erlang 应用程序不使用数据,但如果将来可以使用,那就太好了。
-
我的目标是尽可能快地为客户端反序列化数据。序列化可能很慢,反序列化必须很快。
标签: performance serialization erlang