#thread-pool #thread #pool #worker-thread #tree-structure #tree #parallelism

thread-tree

A tree-structured thread pool for splitting jobs hierarchically on worker threads. The tree structure means that there is no contention between workers when delivering jobs

5 releases

0.3.3 Nov 14, 2021
0.3.2 Jan 2, 2021
0.3.1 Jan 1, 2021
0.3.0 Dec 26, 2020
0.2.0 Dec 20, 2020

#459 in Concurrency

Download history 2799/week @ 2024-01-15 2874/week @ 2024-01-22 3392/week @ 2024-01-29 2597/week @ 2024-02-05 3041/week @ 2024-02-12 3089/week @ 2024-02-19 3200/week @ 2024-02-26 2957/week @ 2024-03-04 3294/week @ 2024-03-11 4016/week @ 2024-03-18 6972/week @ 2024-03-25 6292/week @ 2024-04-01 4100/week @ 2024-04-08 13743/week @ 2024-04-15 12343/week @ 2024-04-22 15661/week @ 2024-04-29

46,203 downloads per month
Used in 33 crates (via matrixmultiply)

MIT/Apache

24KB
415 lines

Thread tree

A tree-structured thread pool. See API documentation for more information.

Stack jobs and job execution based on rayon-core by Niko Matsakis and Josh Stone.

Experimental simple thread pool used for spawning stack-bound scoped jobs with no work stealing.

This is good for:

  • You want to split work recursively in jobs that use approximately the same time.
  • You want thread pool overhead to be low

This is not good for:

  • You need work stealing
  • When you have jobs of uneven size

Wild ideas and notes

Possibly allow reserving a subbranch of the tree.


lib.rs:

A hierarchical thread pool used for splitting work in a branching fashion.

This thread pool is good for:

  • You want to split work recursively in jobs that use approximately the same time.
  • You want thread pool overhead to be low

This is not good for:

  • You need work stealing
  • When you have jobs of uneven size

Dependencies

~345KB