Profiles the time spent waiting for the downstream
iterator step to consume the previous returned item
and ask for the next one (or in other words, the time
spent NOT spent waiting on
next() of the inner iterator.
Profiles the time spent waiting for the upstream
iterator step to produce the next returned item
(or in other words, the time it took to call
And iterator that provides parallelism by running the inner iterator in another thread.
A scope for spawning threads.
A simple basic profiler implementation which tracks the accumulative time and calls a handler function with it.
An interface to profile iterator consumption/prodution performance
Creates a new scope for spawning threads.