[erlang-questions] VM with 32MB RAM

Tristan Sloughter <>
Mon Jul 10 20:41:40 CEST 2017


A little fish told me another benefit of embedded mode just now. 

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.
--
  Tristan Sloughter
  "I am not a crackpot" - Abe Simpson
  


On Mon, Jul 10, 2017, at 11:31 AM, Tristan Sloughter wrote:
> 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.> 
> --
>   Tristan Sloughter
>   "I am not a crackpot" - Abe Simpson
>   
> 
> 
> On Mon, Jul 10, 2017, at 11:24 AM, Dmitry Kolesnikov wrote:
>> 
>>> On 10 Jul 2017, at 21.15, Tristan Sloughter <> wrote:>>> 
>>> 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. >> 
>> 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)? >> 
>> - Dmitry   
>> 
> 
> _________________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170710/dfe56720/attachment.html>


More information about the erlang-questions mailing list