6

そんなメッセージを伝えたい

{up, Distance}
{down, Distance}

私もそうすることができます

{1, Distance}
{-1, Distance}

主な違いは、1つは原子で、もう1つは整数です。ここでmanページを読む:

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

整数とアトムの両方がメモリ内で1ワードを占めます。しかし、彼らはアトムテーブルについて言及しており、それを参照する必要があります。

私の質問は、アトムが使用されるたびにアトムテーブルが参照されるのですか?私の例のどれが最も効率的ですか?

4

1 に答える 1

13

それらは同等に効率的です。アトムの整数表現は、他の用語とのパターン マッチング時に使用されます。アトム テーブルは、アトムを印刷するとき、またはネットワーク経由で送信するときにのみ使用されます (これらは、アトムの使用がわずかに遅くなる例外です)。

この場合、パフォーマンスよりも読みやすさを優先してください。

于 2012-01-24T08:38:33.217 に答える