dora-rs / dora

DORA (Dataflow-Oriented Robotic Application) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed dataflow capabilities. Applications are modeled as directed graphs, also referred to as pipelines.
https://dora-rs.ai
Apache License 2.0
1.36k stars 69 forks source link

Use new `Bound` API of `pyO3` #437

Closed phil-opp closed 1 month ago

phil-opp commented 3 months ago

We use the pyO3 crate for implementing Python nodes and operators. The upcoming v0.21 release will feature a new "Bound" API, which enables better control over the lifetimes of GIL-references, while also improving performance. It also solve https://github.com/PyO3/pyo3/issues/1056, which we encountered in dora.

Right now v0.21 is still in beta, but we should try to migrate dora to the new Bound API once the stable is out.

(Maybe it will even allow us to bring back runtime nodes with multiple Python operators?)

haixuanTao commented 3 months ago

I think this could solve one of the issues with drop tokens reporting at the end of running dataflows.

haixuanTao commented 3 months ago

https://github.com/PyO3/pyo3/releases/tag/v0.21.0

0.21 has been released!