9 stable releases
| 1.4.1 | Jul 17, 2018 |
|---|---|
| 1.4.0 | Feb 15, 2018 |
| 1.3.0 | Nov 9, 2017 |
| 1.2.1 | Jun 15, 2017 |
| 0.0.1 | Mar 11, 2017 |
#20 in Concurrency
142,629 downloads per month
Used in 765 crates (2 directly)
148KB
2.5K
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.13.0 or greater.
lib.rs:
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
~605KB
~11K SLoC