Extending Functionality: gen_server_ext

Wiger Ulf ulf.wiger@REDACTED
Thu Mar 20 22:24:30 CET 2003


Well, you can actually implement a program that perfectly mimics ETS, using
only processes and message passing (and some nifty data structure, like
dict).

The only tangible difference is that performance will be roughly 30x slower.
;-)

Semantically, I don't think ETS tables are dirtier than processes, for this
very reason.

/Uffe

----- Original Message -----
From: "Vance Shipley" <vances@REDACTED>
To: <erlang-questions@REDACTED>
Sent: den 20 mars 2003 20:37
Subject: Re: Extending Functionality: gen_server_ext


>
> Ah well that is another story isn't it?
>
> You can do two main things to share knowledge between processes in
> Erlang:
>
> 1) store it in ETS
>
> 2) store it in the State data of a server process
>
> The latter is probably a more pure solution.  You can call ETS
> cheating in the same way that the process dictionary is cheating
> if you wish.  I call it optimizing. :)
>
> I use ETS quite often for this purpose.  I'm especially prone to:
>
> ets:update_counter(Tid, callReference, 1).
>
>
>    -Vance
>
>
> On Thu, Mar 20, 2003 at 02:14:24PM -0500, Shawn Pearce wrote:
> }
> }  Erlang has a two kinds of globals:
> }
> }  registered processes
> }  named ets tables




More information about the erlang-questions mailing list