akka.net
akka.net copied to clipboard
Implement PhasedFusingActorMaterializer
Original JVM PR: https://github.com/akka/akka/pull/22264
This is a new implementation of traversal oriented materializer. Docs for it are still missing, but from what I've understood, it's optimized to reduce time necessary for graph materialization.
- [ ] (Mat) Make FlowSpec work again
- [ ] (Mat) Implement subfusing
- [ ] (Mat) Make inputBuffer attributes work again
- [ ] (Mat) Fix actor creation to be the same (or close) to the old one
- [ ] (Mat) Make dispatchers and async work again
- [ ] (Mat) Fix low level interpreter tests
- [ ] (Mat) Failing tests for new materializer
- [ ] (Mat) Implement missing Phases (most likely only TLS)
- [ ] (Mat) Use OptionVals where makes sense
- [ ] (Mat) Eliminate
requirecalls - [ ] (Mat) speedup island name creation
- [ ] (Mat) Investigate attributes semantics
- [ ] (Mat) Restore debug statements in
ActorGraphInterpreterandGraphInterpreter - [ ] (Mat) Improve performance and design of the materializer
- [ ] (Mat) Remove inOwnerId and outOwnerId from Connection
- [ ] (Mat) Review the materializer's and the GraphStagePhase's uses of arrays (ArrayList, ArrayDeque, etc)
- [ ] (Mat) Harden layout classes error handling
- [ ] (Mat) Deprecate the auto-fusing configuration
- [ ] (Mat) make stream impl internal
- [ ] (Mat) Documentation of the new materializer system
- [ ] (Mat) Obsolete documentation for ExtendedActorMaterializer
- [ ] Give a good error message on unassigned ports
@Aaronontheweb I want to port the ActorRefSource stage and the Source.ActorRefWithAck operator, but that requires the PhasedFusingActorMatelializer. Do you guys have a timetable in mind for this issue?
@ismaelhamed looking at doing this for Artery in 1.5, so this should be done soon-ish
@Aaronontheweb Any news on this one? IMO this is by far the biggest limiter right now in Akka.NET, since plenty of the missing Akka Streams operators are based on the new materializer.
And by the look of #2601 there's still a lot of work to port.
No one on the Petabridge team is working on this at the moment.
The actual scala PR for this is this link: https://github.com/akka/akka/pull/22529