gst-plugins-rs/generic/threadshare/src/runtime
François Laignel 2bb071a950 ts/runtime: slight optimizations for sub tasks related operations
Using callgrind with the standalone test showed opportunities for
improvements for sub tasks addition and drain.

All sub task additions were performed after making sure we were
operating on a Context Task. The Context and Task were checked
again when adding the sub task.

Draining sub tasks was perfomed in a loop on every call places,
checking whether there were remaining sub tasks first. This
commit implements the loop and checks directly in
`executor::Task::drain_subtasks`, saving one `Mutex` lock and
one `thread_local` access per iteration when there are sub
tasks to drain.

The `PadSink` functions wrapper were performing redundant checks
on the `Context` presence and were adding the delayed Future only
when there were already sub tasks.
2022-08-18 18:42:18 +02:00
..
executor ts/runtime: slight optimizations for sub tasks related operations 2022-08-18 18:42:18 +02:00
mod.rs ts/executor: replace tokio with smol-like implementation 2021-12-25 11:25:56 +00:00
pad.rs ts/runtime: slight optimizations for sub tasks related operations 2022-08-18 18:42:18 +02:00
task.rs ts/runtime: slight optimizations for sub tasks related operations 2022-08-18 18:42:18 +02:00
time.rs ts/executor: replace tokio with smol-like implementation 2021-12-25 11:25:56 +00:00