[erlang-questions] module syntax help
Richard Carlsson
richardc@REDACTED
Tue Apr 14 09:20:57 CEST 2009
Steve Davis wrote:
> If you call new twice, e.g.
>
> 1> P = mymodule:new(Params).
> 2> P = mymodule:new(Params).
>
> I'd be right in thinking that P is exactly the same instance of the
> parameterized module, correct?
>
> i.e. if I call mymodule:new(Params) with the same parameters 100000
> times there's no memory (or otherwise) impact on the VM?
The impact would be similar to running the following function
the same number of times:
new(P1,...,Pn) -> {some_tag, P1, ..., Pn}..
I.e., a small object is created on the heap, on the order of n+k
words for some small k. As usual, these will be garbage collected
when they are no longer referenced. (The current representation
uses tuples, but this is meant to change, so never rely on that.)
/Richard
More information about the erlang-questions
mailing list