Erlang JIT and loaded code
Mon Apr 25 11:13:14 CEST 2022
On Tue, Apr 19, 2022 at 7:17 AM Vitor Rocha <vitor.vrs@REDACTED> wrote:
> (1) how do I know if my code is actually being executed as interpreted or
All code loaded from .beam files are run natively if the VM supports JIT
> (2) If I compile a module inside Erlang's shell, using the `c:c/1`
> function, is the module going to be compiled to native too? Will its
> execution be switched to native?
There is no difference in how it is compiled, it will always be translated
into native code when loaded.
> (3) Where is stored the generated beamasm native code? I would like to get
> its size in bytes?
It is stored in memory of the VM. You can get a file dump of the native
code by passing `+JDdump true` when starting `erl`. There is no way to get
the loaded memory size of a single module, but you can get a relatively
close value by checking what `erlang:memory(code)` returns before and after
the module is loaded.
> Vitor Rocha da Silva
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions