[erlang-questions] Frequency of module reloading and the constant pool

Edmond Begumisa <>
Sat Sep 16 23:57:36 CEST 2017


On Sun, 17 Sep 2017 03:39:50 +1000, Edmond Begumisa  
<> wrote:

> Hello all,
>
> (Not new here--just haven't posted in a while!)
>
> I'm using merl to dynamically generate and regenerate modules at runtime  
> that make use of the ERTS constant pool in order to efficiently avail  
> data to all processes. I'm aware that this technique is known amongst  
> more experienced Erlangers for situations where the data is updated  
> infrequently (e.g. sharing global configuration parameters).
>
> The question I'm investigating is how frequent is "infrequent" w.r.t  
> reloading of modules[1]? I'm not entirely sure about the costs involved  
> when (re)loading a module so I've got no idea where to start in order to  
> measure the impact on the emulator. Could anybody with sufficient  
> knowledge of emulator internals point me in the right direction?
>

To clarify: When measuring whether or not I'm hot-code swapping too  
frequently, what are the negative signs to look for? What does the  
emulator actually do when swapping out code w.r.t potentially  
disruptive/costly operations like locking, GC, etc which could negatively  
impact scheduling, memory and responsiveness of the system?

I'm trying to figure out when the best time to reload a dynamically  
generated module/group of modules is and how frequently I should allow  
reloading to occur.

- Edmond -

> Thanks in advance.
>
> - Edmond -
>
> [1] The more exotic use-cases for use/abuse of the constant pool and  
> module reloading I'm looking into are to do with caching and incremental  
> computation.
>


-- 
Using Opera's mail client: http://www.opera.com/mail/


More information about the erlang-questions mailing list