[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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the bitc-dev