<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 13, 2016 at 1:21 PM, Evan Laforge <span dir="ltr"><<a href="mailto:qdunkan@gmail.com" target="_blank">qdunkan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1rh" class="a3s aXjCH m158f96baa241ebcc">If I'm using the same code linked into the main<br>
application, then isn't it a given that I'm loading everything in the<br>
application in the first place?</div></blockquote></div><br>It's not necessarily accessible in a useful form for use by demand loaded modules; this is a common issue, leading to things like Apache and Perl moving most of their implementation into shared objects specifically so this kind of sharing will work. Additionally, since the demand loaded environment is a separate evaluation environment, all data will necessarily be duplicated (in theory sharing of initialized data with copy on write is possible, but in practice it's a lot of work and demand loading overhead for (for most C/C++ programs at least; ghc initialized data might differ) very little practical gain).<br><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div></div>
</div></div>