Open
Description
- One is that their executor spins a little more waiting for another task to be ready.
- For par_for_each stuff, it wakes new threads faster as async executor limits to waking one thread at a time.
- When it forks (splits current task in 2) it runs one on the current thread and only spawns a task for the other task.
There's probably some other microoptimizations too, but I think the above are the lowish hanging fruit.