Hi Nik,

> I had the intention to learn more about how the concurrency model
> in PicoLisp compares to languages like Erlang, Termite (Gambit),
> Clojure, Scala etc.

OK, I see ;-)

This is not well documented yet. The basic model (for the processes on a
single machine and operating on the same database), is that a single
parent process forks a number of children, and these children can then
communicate via objects in the database or with 'tell' and related
functions. The communication dispatch is then handled by the parent

> 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).

OK. This cannot be done with normal processes and threads. PicoLisp
suppors also some rather limited and lightweight "task"s, which are more
like co-routines. But I wouldn't dare to create hundred thousands of
them either ;-)

So compared to such specialists, picoLisp has not much to offer. Its
advantage lies, however, in the flexibility and simplicity, which may
well allow to implement a more suitable solution for the problem at
hand. For example, I cannot see that a hundred thousand processes on a
single machine make any sense, they will get into the way of each other.
In such a case the modelling of the situation with with say, objects,
which interact with each other, might prove better.

- Alex
UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to