The async model is more complex than the thread model. NimGo just tries to 
looks like the thread model but inside it is async. We can view NimGo as an 
in-between !

For people which don't have much I/O, use mainly regular files, or relies on a 
high-performance async libraries like <https://github.com/guzba/mummy>, threads 
are certainly better suited !

I won't try to convince you pure async library are still important and vital 
for Nim. Still, there are many peoples who have or are trying to work on some 
kind of asyncio library (chronos, CPS, nim-skull's stackless coroutines, etc.). 
IMHO, there are limits actually with threads which make pure I/O library 
relevants, but maybe tomorrow it won't be the case. Still, I think you are 
right that people focus too much on async, when sometimes threads are a 
perfectly adapted solution (and often faster).

If people tryes to combine Malebolgia with some async library, I'm sure it 
could lead to high performance server. For now, NimGo will stay single threaded 
but with the possibility to have one instance by thread, I think this is the 
simplest, more reliable and more performant solution.

I won't try to feed again this conversation about thread Vs async, we have 
already say much and I don't want to appear too stubborn (unfortunately I am, 
but not enough competent to justify it ^^). I just think our use cases are 
different. But it was a pleasure to have this conversation with you, thanks for 
your time :-)

Reply via email to