Optimise atomic processing of pipelines
Problem to solve
Currently the atomic processing is:
- It is slower than legacy method for the first time (as it effectively processes the whole pipeline at once for most of time),
- It is faster (as we store the processing state) to reduce amount of redundant operations,
- It is faster to process DAGs (as we remove a number of N+1).
Improvements
- Introduce active model to hold the object state,
- Discover as part of processing what needs to be processed as part of dependency cycle,
- Cut the work, and improve performance of
Status::Composite
.