12 stable releases

✓ Uses Rust 2018 edition

1.7.0 Dec 22, 2019
1.6.1 Nov 21, 2019
1.6.0 Aug 31, 2019
1.5.0 Jun 13, 2019
0.0.1 Mar 11, 2017

#3 in #join

Download history 96379/week @ 2019-12-02 91265/week @ 2019-12-09 91513/week @ 2019-12-16 59802/week @ 2019-12-23 67938/week @ 2019-12-30 98193/week @ 2020-01-06 95516/week @ 2020-01-13 95904/week @ 2020-01-20 100844/week @ 2020-01-27 88177/week @ 2020-02-03 85337/week @ 2020-02-10 82642/week @ 2020-02-17 88424/week @ 2020-02-24 84712/week @ 2020-03-02 85200/week @ 2020-03-09 86856/week @ 2020-03-16

344,269 downloads per month
Used in 1,718 crates (5 directly)

Apache-2.0/MIT

175KB
3K SLoC

Rayon-core represents the "core, stable" APIs of Rayon: join, scope, and so forth, as well as the ability to create custom thread-pools with ThreadPool.

Maybe worth mentioning: users are not necessarily intended to directly access rayon-core; all its APIs are mirror in the rayon crate. To that end, the examples in the docs use rayon::join and so forth rather than rayon_core::join.

rayon-core aims to never, or almost never, have a breaking change to its API, because each revision of rayon-core also houses the global thread-pool (and hence if you have two simultaneous versions of rayon-core, you have two thread-pools).

Please see Rayon Docs for details about using Rayon.

Rayon-core currently requires rustc 1.31.0 or greater.


lib.rs:

Under construction

Restricting multiple versions

In order to ensure proper coordination between threadpools, and especially to make sure there's only one global threadpool, rayon-core is actively restricted from building multiple versions of itself into a single target. You may see a build error like this in violation:

error: native library `rayon-core` is being linked to by more
than one package, and can only be linked to by one package

While we strive to keep rayon-core semver-compatible, it's still possible to arrive at this situation if different crates have overly restrictive tilde or inequality requirements for rayon-core. The conflicting requirements will need to be resolved before the build will succeed.

Dependencies

~420KB