[erlang-questions] Adding binary data to a list
Mon Jan 25 17:33:27 CET 2016
Thanks Richard, for the clarification. Yes - I was referring to
On Mon, Jan 25, 2016 at 5:08 AM, Richard A. O'Keefe <>
> On 24/01/2016, at 9:23 am, Theepan <> wrote:
> > If I add the same binary data to different lists, will it be copied? I
> know for a fact that binary data are referenced, but not sure in list
> making case.
> Suppose you have this code:
> X = ...any arbitrary Erlang term...
> P = ...any list you like...
> Q = ...any other list you like...
> P1 = [X|P],
> Q1 = Q ++ [X]
> X is not copied, no matter what it is, no matter how small,
> no matter how big. Making P1 copies nothing, just creates
> one new pair. Making Q1 copies the spine of Q, but not the
> elements of Q, and not X.
> You are probably thinking about the fact that
> large binaries are *not* copied when they are
> sent to another process, and that they are
> reference counted for that purpose.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions