<div dir="ltr"><div>Node is incredibly efficient but it is not efficient because it is single threaded.  It is efficient because of its asynchronous architecture - which is a real pain to code for.  Since Smalltalk doesn't share this architecture, it also doesn't share in its efficiency  (but it's much, much nicer to code for!).</div><div><br></div><div><span></span></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 14, 2018 at 2:02 PM Esteban A. Maringolo <<a href="mailto:emaringolo@gmail.com">emaringolo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 14/06/2018 15:47, Blake McBride wrote:<br>
> On Thu, Jun 14, 2018 at 11:19 AM Ramon Leon <<a href="mailto:ramon.leon@allresnet.com" target="_blank">ramon.leon@allresnet.com</a><br>
> <mailto:<a href="mailto:ramon.leon@allresnet.com" target="_blank">ramon.leon@allresnet.com</a>>> wrote:<br>
<br>
>      > 1.  Does Pharo support multiple OS/native threads?<br>
> <br>
>     No.  What you do is run multiple processes on the backend and load<br>
>     balance between them via a proxy. Apache/haproxy, whatever.<br>
> <br>
> <br>
> Given the limits of processors (and the speed of light), short of <br>
> quantum computers (which are happening), the best scaling choice we have<br>
> is multi-processing.<br>
> <br>
> Although running multiple processes and a load balancer does work, the<br>
> world is not moving in that direction.  It is a short-term kludge around<br>
> the problem.  A multi-threaded aproach allows the OS to manage resources<br>
> rather then me (or the Squeak VM)  trying to do it on top of the OS. <br>
> The OS has more global knowledge of what is happening on the machine.<br>
<br>
One of the most popular (and hence hyped) platforms like node.js is<br>
single-threaded. And it achieves C10K by doing evented I/O, but if you<br>
run CPU intensive tasks, then no event will save you from that.<br>
<br>
So not everything goes in the multi-threading realm, actually the only<br>
thing I see moving in that direction is heavy computation (and to GPU as<br>
well).<br>
<br>
I agree there is no wheel, but up and downs instead, however these days<br>
if you take things to extremes the serverless/lambda approach seems to<br>
be the most single threaded thing you can think of.<br>
<br>
Regards,<br>
<br>
<br>
-- <br>
Esteban A. Maringolo<br>
_______________________________________________<br>
seaside mailing list<br>
<a href="mailto:seaside@lists.squeakfoundation.org" target="_blank">seaside@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" rel="noreferrer" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
</blockquote></div></div>