Woaw, impressive. Even if it is not a fully feature I/O library, having an 
efficient multithreaded dispatcher is impressive. But for now, there doesn't 
exists any good asyncio library not relying on async/await. I have looked over 
projects using threads, but they are not focused on I/O. It is still the 
consensus that if you want async I/O, you should use something like 
std/asyncdispatch.

But I still think that concurrent programming has usage case different than 
parallel programming and are best suited for I/O and complex flow of execution. 
But yes, there are tradeoffs. And if there is a thread library that can handle 
efficiently tens of thousands of multiple I/O including non-regular files and 
with a simple API, I just say a big YES (otherwere that would throw to trash my 
last three months of works, but so be it, the journey is the destination and I 
learned a lot)

For precision, coroutines can optionally be backed by virtual memory (not the 
default in NimGo). If so, generally we assign them as much virtual memory as a 
thread. But contrary to Go which integrates its own scheduler, they are not 
automatically resized, so there is a risk of stackoverflow.

Reply via email to