erlang的atom实现

本文介绍了Erlang中Atom的高效实现方式及其在网络传输中的应用。Atom在Erlang中用于消息匹配,通过特殊的hash表和索引结构提高查找效率,并通过缓存机制减少网络传输开销。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

atom在erlang里面的作用非常大,特别是在消息匹配的时候,所以需要个非常高效的实现。erts的index.c hash.c atom.c用来实现atom. atom在内部表示的时候是个index. atom是个字符串,首先存在hash表里,然后把在hash里的slot,放在index的索引表里。这样要获取atom就非常高效,基本是2次指针运算。当需要把atom传送到外部的时候,第一次的时候就乖乖的送字符串的内容,同时把这个atom cache起来,以后再发送的时候就可以只传送在cache中的index了,大大提高了网络传输效率。具体的常见dec_atom enc_atom, external.c中。

细节中可以看到erlang非常注意性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值