<div class="gmail_quote">On Thu, Feb 9, 2012 at 10:50 AM, Masklinn <span dir="ltr"><<a href="mailto:masklinn@masklinn.net">masklinn@masklinn.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On 2012-02-09, at 19:34 , Guido van Rossum wrote:<br>
>> They all agree multi-core is the future and whichever language can deal<br>
>> with them better is the future too.<br>
>><br>
><br>
> Surely not JavaScript (which is single-threaded and AFAIK also uses<br>
> refcounting :-).<br>
<br>
</div>I don't think I've seen a serious refcounted JS implementation in the last<br>
decade. , although it is possible that JS runtimes have localized usage<br>
of references and reference-counted resources. AFAIK all modern JS<br>
runtimes are JITed which probably does not mesh well with refcounting.<br>
<br>
In any case, V8 (Chrome's runtime) uses a stop-the-world generational<br>
GC for sure[0], Mozilla's SpiderMonkey uses a GC as well[1] although<br>
I'm not sure which type (the reference to JS_MarkGCThing indicates it<br>
could be or at least use a mark-and-sweep amongst its strategies),<br>
Webkit/Safari's JavaScriptCore uses a GC as well[2] and MSIE's JScript<br>
used a mark-and-sweep GC back in 2003[3] (although the DOM itself was<br>
in COM, and reference-counted).<br></blockquote><div class="im"><br>I stand corrected (but I am right about the single-threadedness :-). <br><br>
> And note that a<br>
> single-threaded event-driven process can serve 100,000 open sockets --<br>
> while no JVM can create 100,000 threads.<br>
<br>
</div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Only because it's OS threads of course, Erlang is not evented and has no<br>
problem spawning half a million (preempted) processes if there's RAM<br>
enough to store them.<br></blockquote><div><br>Sure. But the people complaining about the GIL come from Java, not from Erlang. (Erlang users typically envy Python because of its superior standard library. :-)<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<br>
[0] <a href="http://code.google.com/apis/v8/design.html#garb_coll" target="_blank">http://code.google.com/apis/v8/design.html#garb_coll</a><br>
[1] <a href="https://developer.mozilla.org/en/SpiderMonkey/1.8.5#Garbage_collection" target="_blank">https://developer.mozilla.org/en/SpiderMonkey/1.8.5#Garbage_collection</a><br>
[2] Since ~2009 <a href="http://www.masonchang.com/blog/2009/3/26/nitros-garbage-collector.html" target="_blank">http://www.masonchang.com/blog/2009/3/26/nitros-garbage-collector.html</a><br>
[3] <a href="http://blogs.msdn.com/b/ericlippert/archive/2003/09/17/53038.aspx" target="_blank">http://blogs.msdn.com/b/ericlippert/archive/2003/09/17/53038.aspx</a></blockquote></div><br><br clear="all"><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)<br>