<div dir="ltr"><br><br><div class="gmail_quote">On Mon, May 11, 2015 at 2:32 PM Joe Armstrong <<a href="mailto:erlang@gmail.com">erlang@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, May 10, 2015 at 10:32 PM, Benoit Chesneau <<a href="mailto:bchesneau@gmail.com" target="_blank">bchesneau@gmail.com</a>> wrote:<br>
><br>
><br>
> On Sun, May 10, 2015 at 10:23 PM Joe Armstrong <<a href="mailto:erlang@gmail.com" target="_blank">erlang@gmail.com</a>> wrote:<br>
>><br>
>> How large is the total data?<br>
>><br>
>> If it's small you could define this in a module and not use a database<br>
>> or process at all.<br>
><br>
><br>
> How small should it be? What if the compiled bean is about 888 kilobytes?<br>
<br>
It depends :-)<br>
<br>
There are many factors involved:<br>
<br>
   a) How much memory do you have<br>
   b) How often do you want to change the configuration data<br>
   c) How quick do you the change to be<br>
<br>
Assume<br>
<br>
  a) is a smallish number of GBytes (normal these days)<br>
  b) is "relatively rarely" (I don't know what this means - (aside - this is why<br>
      I always ask people to provide numbers in their questions))<br>
     Say once a day<br>
  c) is a few seconds<br>
<br>
Then it should be perfectly doable. Making a module containing all the<br>
config data<br>
and recompiling when necessary is certainly the fastest way to access the data -<br>
this has very fast reads but very slow writes - you could think of a<br>
module as a database<br>
optimized for reads but not writes :-)<br>
<br>
/Joe<br>
<br>
<br></blockquote><div><br></div><div>I see :) Thanks for the answer!</div><div><br></div><div>I'm already using such technic to speed access to unicode data in my IDNA module [1] but always wondered if there is not a more efficient approach since the compiled beam is quite big though less than 1MB. In term of speed it's better that using ETS though I don't have the exact figures right now.</div><div><br></div><div>- benoit</div><div>[1] <a href="https://github.com/benoitc/erlang-idna/blob/master/src/idna_unicode_data.erl">https://github.com/benoitc/erlang-idna/blob/master/src/idna_unicode_data.erl</a></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
><br>
> - benoit<br>
</blockquote></div></div>