On Sun, Mar 25, 2012 at 10:27 AM, Bennie Kloosteman <[email protected]>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
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to