[package]
name = "executors"
version = "0.10.0"
authors = ["Lars Kroll <lkroll@kth.se>"]
edition = "2021"
description = "A collection of high-performance task executors."
documentation = "https://docs.rs/executors"
homepage = "https://github.com/Bathtor/rust-executors"
repository = "https://github.com/Bathtor/rust-executors"
readme = "../README.md"
keywords = ["executor", "concurrency", "thread"]
categories = ["concurrency", "asynchronous"]
license = "MIT"
[features]
default = [
"threadpool-exec",
"cb-channel-exec",
"workstealing-exec",
"ws-timed-fairness",
"defaults",
]
threadpool-exec = ["threadpool"]
cb-channel-exec = ["crossbeam-channel", "async-task"]
workstealing-exec = [
"crossbeam-channel",
"crossbeam-deque",
"rand",
"crossbeam-utils",
"async-task",
]
defaults = ["num_cpus"]
ws-timed-fairness = []
ws-no-park = []
thread-pinning = ["core_affinity"]
numa-aware = ["thread-pinning"]
produce-metrics = ["metrics"]
[dependencies]
log = "0.4"
synchronoise = "1.0"
arr_macro = "0.2"
crossbeam-channel = { version = "0.5", optional = true }
threadpool = { version = "1.8", optional = true }
crossbeam-utils = { version = "0.8", optional = true }
crossbeam-deque = { version = "0.8", optional = true }
rand = { version = "0.8", optional = true }
num_cpus = { version = "1", optional = true }
core_affinity = { version = "0.8", optional = true }
async-task = { version = "4.0", optional = true }
metrics = { version = "0.24", optional = true }
[dev-dependencies]
env_logger = "0.11"
version-sync = "0.9"
criterion = "0.5"
futures = "0.3"
metrics_printer = "0.1"
[badges]
maintenance = { status = "passively-maintained" }
[[bench]]
name = "scheduler"
path = "benches/scheduler.rs"
harness = false
[package.metadata.docs.rs]
features = ["numa-aware"]