You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Motivations: This discussion has been started on nim's forum with vigorous examples: https://forum.nim-lang.org/t/11720. It results that transforming NimGo into a multithreaded library like goroutines is possible and desirable.
Definitions
Those definitions are important to agree on what we do and how.
"Thread" = Os threads
Task = any block of code that could be suspended and resumed
Events: This term can regroup
I/O events (std/selectors)
timers (internal heapqueue)
callbacks (tasks resumed by another task) and cancellation
EventLoop = loop in charge of checking which events are available and inform about the tasks associated with them
DispatcherLoop = loop in charge of distributing tasks between threads
(EventLoop and DispatcherLoop may or may not be the same loop, generally the EventLoop fills the DispatcherLoop)
Roadmap
This posts will link to all tasks needed to achieve this (the issue/PR will be linked here for each one as they are created):
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Motivations: This discussion has been started on nim's forum with vigorous examples: https://forum.nim-lang.org/t/11720. It results that transforming NimGo into a multithreaded library like goroutines is possible and desirable.
Definitions
Those definitions are important to agree on what we do and how.
(EventLoop and DispatcherLoop may or may not be the same loop, generally the EventLoop fills the DispatcherLoop)
Roadmap
This posts will link to all tasks needed to achieve this (the issue/PR will be linked here for each one as they are created):
Beta Was this translation helpful? Give feedback.
All reactions