<div dir="ltr">Hi,<div><br></div><div>I'm trying to optimize my memory consumption in Erlang VM and to garbage collect as soon as possible.</div><div><br></div><div>Let's say I have a large object, "X", After some processing, I only need to work on small part of X, called "x".</div><div><br></div><div>Can someone advice me if below process flow will put the large object X in to garbage collection, while waiting for the long running job to continue?</div><div><br></div><div><div>function1() -></div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">X = ... fetch a large object....</blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">... some processing...</blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">x = ... extract a part of X...<br>... long running job....<br></blockquote></div></div><div><br></div><div>If it's not putting X into garbage collection, does below change do that?</div><div><br></div><div>function1() -></div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>X = ... fetch a large object....</div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>... some processing...</div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">x = ... extract a part of X...<br>function2(x).<br><br></blockquote>function2(x) -></div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>... long running job...</div></blockquote><br></div><div>Tks,</div><div>- Eranga</div></div>