6

我想传递这样的消息

{up, Distance}
{down, Distance}

我也可以这样做

{1, Distance}
{-1, Distance}

关键区别在于一个是原子,另一个是整数。在此处阅读手册页:

http://www.erlang.org/doc/efficiency_guide/advanced.html

整数和原子都在内存中占用 1 个单词。但是他们提到了一个原子表并需要引用它。

我的问题是,每次使用原子时都会引用原子表吗?我的哪个例子最有效?

4

1 回答 1

13

它们将同样有效。当与其他术语进行模式匹配时,使用原子的整数表示。原子表仅在打印原子或通过网络发送原子时使用(这些是使用原子会稍微慢一些的例外情况)。

在这种情况下,优先考虑可读性而不是性能。

于 2012-01-24T08:38:33.217 回答