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

Implement thread-local Waker #51

Closed
Thomasdezeeuw opened this issue Aug 5, 2018 · 6 comments
Closed

Implement thread-local Waker #51

Thomasdezeeuw opened this issue Aug 5, 2018 · 6 comments
Labels
enhancement An improvement of the API. performance Performance related issue. priority:medium Medium priority issue.

Comments

@Thomasdezeeuw
Copy link
Owner

Also for use of less expensive operations.

@Thomasdezeeuw Thomasdezeeuw added enhancement An improvement of the API. performance Performance related issue. labels Aug 5, 2018
@Thomasdezeeuw
Copy link
Owner Author

Also see rust-lang/rfcs#2418 (comment).

@Thomasdezeeuw
Copy link
Owner Author

Also see #40.

@Thomasdezeeuw
Copy link
Owner Author

The waker trait is being redesigned, see rust-lang/rfcs#2592. After that makes into the standard library I'll start work on this.

Current idea:

Two waker implementations. LocalWaker will be backed by Mio-st simply adding user space notifications, via an ActorsystemRef. The Waker (thread-safe) implementation will likely use a channel to send ProcessId to other ActorSystems, this still means #49 needs to be fixed.

Other notes:

  • Try to remove Waker from ActorProcess. Create a new LocalWaker each time from ActorSystemRef and ProcessId?

@Thomasdezeeuw
Copy link
Owner Author

Pr to change Waker implementation: rust-lang/rust#57992.

@Thomasdezeeuw Thomasdezeeuw added the priority:medium Medium priority issue. label Feb 10, 2019
@Thomasdezeeuw
Copy link
Owner Author

Pr with new Waker implementation is merged, now blocked on updating Rust version, see #163.

@Thomasdezeeuw
Copy link
Owner Author

LocalWaker is no longer a thing and after #215 the Waker is fairly decent shape, closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement of the API. performance Performance related issue. priority:medium Medium priority issue.
Projects
None yet
Development

No branches or pull requests

1 participant