[erlang-questions] Dynamically generated atoms get reused if they are the same?

Ulf Wiger <>
Mon Nov 5 23:41:02 CET 2007


That's correct.

BR,
Ulf W

2007/11/5,  <>:
> Hi,
>
> According to http://www.erlang.org/doc/efficiency_guide/bif.html#6.1 atoms do not get garbage collected. Meaning if you constantly produce atoms by using list_to_atom/1 you sooner or later will run out of space for them.
>
> Now I just wrote a small test program which indicates that as long as you produce the same atom, it will not take up additional space:
>
> atomTest() ->
>   NewAtom = list_to_atom("itsme"),
>   io:format("New memory size: ~p, Atoms used: ~p~n",
>     [erlang:memory(atom), erlang:memory(atom_used)]),
>         register(NewAtom, self()),
>         unregister(NewAtom),
>         receive
>         after 1000 ->
>                 atomTest()
>   end.
>
> So, can anyone confirm, is it correct that dynamically generated Atoms are of no concern as long as you do not produce too many _different_ ones?
>
> Thank you!
>
> Regards,
> Eric
> --
> GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.
> Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list