-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
88 lines (74 loc) · 1.84 KB
/
Cargo.toml
File metadata and controls
88 lines (74 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
[package]
name = "cycle"
version = "0.3.0"
edition = "2021"
readme = "README.md"
license = "Apache-2.0"
documentation = "https://docs.rs/cycle"
repository = "https://github.com/jamesgober/cycle"
homepage = "https://github.com/jamesgober/cycle"
description = "Ultra-high performance async runtime with fast task cycling, lock-free scheduling, and zero-overhead performance"
keywords = [
"async",
"runtime",
"performance",
"concurrent",
"lock-free"
]
categories = [
"asynchronous",
"concurrency",
"network-programming",
"web-programming",
"development-tools"
]
exclude = [
".github/",
"benches/",
"docs/",
"dev/",
]
authors = [
"James Gober <code@jamesgober.dev>"
]
[features]
default = ["rt", "net", "time", "sync"]
rt = []
net = ["rt", "dep:mio", "dep:socket2"]
time = ["rt"]
sync = ["rt"]
io-uring = ["net", "dep:io-uring"]
numa = ["rt", "dep:hwloc2"]
metrics = ["dep:sysinfo"]
full = ["rt", "net", "time", "sync", "io-uring", "numa", "metrics"]
[dependencies]
# Core dependencies
crossbeam = "0.8"
once_cell = "1.19"
futures = "0.3"
num_cpus = "1.16"
fastrand = "2.0"
parking_lot = "0.12"
# Networking
mio = { version = "0.8", optional = true, features = ["os-poll", "net"] }
socket2 = { version = "0.5", optional = true }
# Linux optimizations
io-uring = { version = "0.6", optional = true }
hwloc2 = { version = "2.0", optional = true }
# Metrics
sysinfo = { version = "0.30", optional = true }
# Utility
bytes = "1.5"
serde = { version = "1.0", features = ["derive"] }
pin-project-lite = "0.2.16"
futures-executor = "0.3.31"
libc = "0.2.174"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tokio = { version = "1.0", features = ["full"] }
[[example]]
name = "benchmark"
required-features = ["rt"]
[[example]]
name = "compare_tokio"
required-features = ["rt"]