As always, Mark - thank you for that excellent detailed response. It gave me much to consider.
Sent from my iPhone > On Dec 5, 2017, at 12:55 PM, Richard Gaskin via use-livecode > <use-livecode@lists.runrev.com> wrote: > > Andre Garzia wrote: > > > Some other languages support full threads and some even allow you to > > fork(). > > Can you describe what you mean by fork() here? In a discussion a while back > I made reference to an earlier post you'd made about fork(), but the response > from the engine team left me with the impression that it's merely the way > processes launch other processes. Of course we can launch processes right > now in LC, so clearly there's something here I'm missing (forgive the naivete > of the question; I'm only halfway into Robert Love's Linux System > Programming). > > > > ## THE ENGINE POOL ## > > I believe it was Richard who did this, can't recall, it was definitely > > not me. Keep a pool of engines running, lets say 20, use a node > > balancer to round robin them. > > I'm sure there are others, but I can recall three people who've experimented > with this sort of multiprocessing: Pierre Zahores, Mark Talluto, and myself. > > My own explorations were very superficial. I spent more time looking into > how much could be gained by maxing async behavior with callbacks within a > single LC process (because of course there's no point spawning multiple > instances of an inefficient process <g>). I used the Raney mchttpd stack as > a starting point, updated to send proper modern headers so it can be used > with browsers made after 1999 <g>, and revised to use callbacks for all > reads/writes. > > The TL/DR (I was testing delivery of static files rather than DB access, so > the comparison was with Apache2): > > The bad news is that even a slender HTTPd in LC was only slightly > more than half as fast as Apache2. > > The good news was that a slender HTTPd thrown together in a couple > hours in LC scripts was more than half as fast as the highly- > optimized C written by a team of specialists in Apache2! :) > > <http://lists.runrev.com/pipermail/use-livecode/2016-February/223363.html> > > My takeaway was that, as nice as it is to get pretty good results from a > scripting language like LC, if I actually need scalable multiprocessing it's > better handled by teams/apps specializing in that. > > You may find some of Pierre's posts in that thread interesting. > > -- > Richard Gaskin > Fourth World Systems > Software Design and Development for the Desktop, Mobile, and the Web > ____________________________________________________________________ > ambassa...@fourthworld.com http://www.FourthWorld.com > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode