2012-01-24 17 views
5

Chcę przekazać wokół wiadomości jako takiErlang: atomy lub całkowite

{up, Distance} 
{down, Distance} 

mogę też to zrobić w taki

{1, Distance} 
{-1, Distance} 

Kluczową różnicą jest to atom i inne liczbą całkowitą . Czytanie stron man tutaj:

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

zarówno liczbą całkowitą i atom trwać 1 słowo w pamięci. Wspominają jednak o tablicy atomów i muszą się z nią odwoływać.

Moje pytanie brzmi, czy tablica atomów ma odniesienie za każdym razem, gdy używany jest atom? Który z moich przykładów jest najbardziej wydajny?

Odpowiedz

12

Będą równie wydajne. Liczba całkowita reprezentująca atom jest używana podczas porównywania wzorców z innymi terminami. Tablica atomów jest używana tylko podczas drukowania atomów lub przesyłania ich przez sieć (są to wyjątki, w których użycie atomów będzie marginalnie wolniejsze).

Lepsza czytelność w stosunku do wydajności w tym przypadku.