-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial Setup #1
Conversation
Hey @tbekas finally got a PR up. It's fairly complete but there's a few corner cases to figure out. The openArray seem to work, but will need to verify the GC won't free the main GC data. |
This will need more tests, stress testing to verify the threading. It'd be nice to do some basic benchmarking as well. Also the API's likely need some changes. In particular the jobs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall a great job 👍 This PR would use some cleanup of the commented and unused code as well as some echos.
This makes an async compatible queue, see
queues.nim
. Thenjobs.nim
builds on this with a type and macro for submitting jobs to taskpools and getting a result back via an async future. Finallytasks.nim
automates the jobs wrapping and adds some type extra type checking.Here's an example of the transformations for an "asyncTasklet":
becomes:
Calling
addNums
:becomes: