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 process. > 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. True. > 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. Cheers, - Alex -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe