[bitc-dev] Fwd: Retrospective Thoughts on BitC

Jonathan S. Shapiro shap at eros-os.org
Sun Mar 25 10:49:49 PDT 2012


On Sun, Mar 25, 2012 at 10:27 AM, Bennie Kloosteman <bklooste at gmail.com>wrote:

> C# has app domains for this basically light weight processes .
>

That's the theory. Problem is that (1) the app domain isolation story never
actually worked (2) support for app domains within Microsoft isn't taken
very seriously, and (3) firing off a new app domain is not a cheap
operation, because isolation requires a lot of new initialization.

I mean all the code can be shared since it read only so you only need a new
> heap/ memory region for the GC the cost of that cant be that high.
>

Yes, all of the code can be shared. If I recall the study correctly, the
1.5M instructions required to get to the first bytecode of main assumes
ahead-of-time compilation and binary code sharing. *All* of that cost is
the cost of initializing the heap. And it turns out that (for various
reasons) you can't just pickle a heap and reload it.


> Isnt the C++ equivalent to a guaranteed state a process restart which is
> going to cost a few cycles as well?
>

Yes. The overhead is much less that for Java or C# because of the poor
structural designs of the Java/C# core libraries. It would still be far too
high, and of course no safety would be guaranteed in C++, which is why this
is not done.


Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.coyotos.org/pipermail/bitc-dev/attachments/20120325/7549e128/attachment.html 


More information about the bitc-dev mailing list