Concatenating atoms

Thomas Lindgren thomasl_erlang@REDACTED
Thu Feb 3 11:35:39 CET 2005

--- Valentin Micic <valentin@REDACTED> wrote:
> What are we going to gain by
> introducing GC for atoms?  I've
> run out of the atom table space once. It was by
> mistake, of course. I don't
> think I'll run out ever again -- seems much easier
> to use my brain instead.

Good for you! I think there are several reasons for
having an atom GC. The basic problem is, every time
you create an atom, you take one more step towards
rebooting your node. While the distance to the cliff
may be long (and may certainly be reached more quickly
by other means :-) there is currently no way to turn

If you want to be sure never to create new atoms, you
need to be careful about:

- your own code, of course
- using third party utilities that can create new
atoms (e.g., file:consult and friends)
- creating new named ets or mnesia tables
- registering new named processes
- contacting new nodes
- loading new modules (module names are atoms)
- loading new versions of old modules with new
exported function names (more atoms)
- other people working on your system after you've

and likely a number of other situations.

Clearly, a lot of systems function well without an
atom GC. I can appreciate that atom GC may be
difficult to implement well. But not having it still
seems like an unnecessary complication.


Do you Yahoo!? 
Yahoo! Mail - 250MB free storage. Do more. Manage less.

More information about the erlang-questions mailing list