<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>A little fish told me another benefit of embedded mode just now. <br></div>
<div><br></div>
<div>In embedded mode there is no code server lookup for an undefined function. So a system that makes use of catching an undef will not be happy once under load and in interactive mode.<br></div>
<div><br></div>
<div id="sig19496053"><div class="signature">--<br></div>
<div class="signature"> Tristan Sloughter<br></div>
<div class="signature"> "I am not a crackpot" - Abe Simpson<br></div>
<div class="signature"> t@crashfast.com<br></div>
</div>
<div><br></div>
<div><br></div>
<div>On Mon, Jul 10, 2017, at 11:31 AM, Tristan Sloughter wrote:<br></div>
<blockquote type="cite"><div>It is done by the applications list in the .app files. It isn't possible to check that C will never be used in your example. xref can probably used to find some cases. But it is up to the user to add to the relx config `{exclude_apps, [C]}` which tells relx to not only not include C but also remove C from any .app file that had it listed.<br></div>
<div><br></div>
<div><div>--<br></div>
<div> Tristan Sloughter<br></div>
<div> "I am not a crackpot" - Abe Simpson<br></div>
<div> t@crashfast.com<br></div>
</div>
<div><br></div>
<div><br></div>
<div>On Mon, Jul 10, 2017, at 11:24 AM, Dmitry Kolesnikov wrote:<br></div>
<blockquote type="cite"><div><br></div>
<div><blockquote type="cite"><div>On 10 Jul 2017, at 21.15, Tristan Sloughter <<a href="mailto:t@crashfast.com">t@crashfast.com</a>> wrote:<br></div>
<div><br></div>
<div><span class="font" style="font-family:SourceCodePro-Regular"><span class="size" style="font-size:13px">As for why it defaults to embedded, this is simply because in a release you've built for your project it is expected you have included only what is needed.<span> </span></span></span><br></div>
</blockquote></div>
<div><br></div>
<div>How does it make a decisions what is needed? As far I re-call, it is made at high level only. If you app uses application A that use B and C then all apps are included into release and their code is loaded into memory even if feature of A that uses C is not ever called from my application, right? or it appliance heuristic and pick only the modules that definitely used by the application (in this case C will not be ever included into release)? <br></div>
<div><br></div>
<div>- Dmitry <br></div>
<div><br></div>
</blockquote><div><br></div>
<div><u>_______________________________________________</u><br></div>
<div>erlang-questions mailing list<br></div>
<div><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br></div>
<div><a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a><br></div>
</blockquote><div><br></div>
</body>
</html>