I'm thinking of turning the backend worker into an async task. With this we could:
- Move all Jobs like sample loading/library lookups as async tasks into the backend. This way we can benefit of async scheduling.
- Maybe get rid of the sleep in the main loop of the backend worker and have a more reactive tokio
select {} - Lower thread count?
Problems:
- rtrb does not support async consumers, but we could build our own according to https://github.com/mgeier/rtrb/issues/98#issuecomment-1560001855
- we need to pull in tokio :/
I'm thinking of turning the backend worker into an async task. With this we could:
1) Move all Jobs like sample loading/library lookups as async tasks into the backend. This way we can benefit of async scheduling.
2) Maybe get rid of the sleep in the main loop of the backend worker and have a more reactive tokio `select {}`
3) Lower thread count?
Problems:
1) rtrb does not support async consumers, but we could build our own according to https://github.com/mgeier/rtrb/issues/98#issuecomment-1560001855
2) we need to pull in tokio :/