Skip to content
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

research the idea of using zig's async/yield to manage nif scheduling #27

Closed
ityonemo opened this issue Oct 14, 2019 · 5 comments
Closed
Milestone

Comments

@ityonemo
Copy link
Collaborator

No description provided.

@ityonemo ityonemo added this to the 0.2.0 milestone Oct 14, 2019
@ityonemo ityonemo modified the milestones: 0.2.0, 0.1.4 Jan 13, 2020
@ityonemo
Copy link
Collaborator Author

moving to milestone 0.1.4.
using zig's async/yield seems like it's not really an option. Instead, we should use zig's multithreading system, and spawn to a remote thread, returning a message callback to check on the function result. This result will be stashed inside of a resource, to permit erlang to properly manage it using the GC.

@ityonemo
Copy link
Collaborator Author

ityonemo commented Jan 13, 2020

basic idea of performing async long functions is completed here: a72055b

the entire outline of all the moving parts necessary is described in this code, and is tested to be working. What follows next is making this code generic.

https://github.com/ityonemo/zigler/blob/async/test/async_test.exs

@ityonemo ityonemo modified the milestones: 0.1.4, 0.2.0 Feb 9, 2020
@ityonemo
Copy link
Collaborator Author

ityonemo commented Feb 9, 2020

moving to milestone 0.2.0 because this hugely benefits from parser refactoring.

@ityonemo
Copy link
Collaborator Author

ityonemo commented Mar 9, 2020

moving to 1.0.0 to wait for zig 0.6.0 async

@ityonemo ityonemo modified the milestones: 0.2.0, 1.0.0 Mar 9, 2020
@ityonemo ityonemo modified the milestones: 1.0.0, 0.7.0 Nov 24, 2020
@ityonemo
Copy link
Collaborator Author

ityonemo commented Dec 2, 2020

completed here #201

@ityonemo ityonemo closed this as completed Dec 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant