There is obviously a misunderstanding here.
I didn't want to compare multiprocessing with thread model as
implemented say in Java! Each of them has its merits (advantages and

As you surely know there are also other models of concurrency which
are "allegedly" more poweful and more efficient. By posing my question
I had the intention to learn more about how the concurrency model
in PicoLisp compares to languages like Erlang, Termite (Gambit),
Clojure, Scala etc.

Just a few remarks about your posting:
1) The efficiency of (traditional) fork and thread models
    depends highly on your concrete use case! Any general
    statement in this regard will naturally fail.
2) With scalability I mean the ability to create hundert thousands
    (or even millions) of "processes" (cf. Erlang, Termite).
3) The concurrent programming is not necessarily related
     to distributed programming!


On Sat, Oct 10, 2009 at 8:22 AM, Alexander Burger <>wrote:

> On Fri, Oct 09, 2009 at 08:59:43PM +0200, Tomas Hlavaty wrote:
> > > The (traditional) multiprocessing by forking, shared memory etc. is
> > > error-prone and not scalable!
> >
> > Do you have anything to support this assertion?  I would rather disagree
> > on this.  It is more reliable than using threads and scalable about the
> > same.  For example, my OS uses processes, is well reliable in this
> > regard and takes advantage of my two cores just fine;-)
> Yes. Using threads is more dangerous and tedious in my experience than
> using processes, which are more independent of each other, and interact
> only explicitly.
> And especially when it comes to scalability, a threaded model performs
> rather poor, because the threads run on the same machine, competing for
> memory and I/O bandwidth.
> I just completed a project where we have hundreds of picoLisp processes
> running on a cluster of machines, with a total of about 90 distributed
> databases and a billion objects.
> The programming model doesn't care where the other processes run
> physically. Especially database access benefits significantly if the
> system is distributed across a number of separate machines. Otherwise
> the necessary DB locks are a bottleneck. PicoLisp has built-in
> mechanisms for transparent access to remote database objects (external
> symbols) and distributed parallel queries to such remote databases.
> Cheers,
> - Alex
> --

Reply via email to