-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
125 lines (108 loc) · 3.92 KB
/
Cargo.toml
File metadata and controls
125 lines (108 loc) · 3.92 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[package]
name = "rawgrep"
version = "0.1.4"
edition = "2024"
authors = ["Mark Tyrkba <marktyrkba456@gmail.com>"]
readme = "README.md"
license = "MIT"
description = "Grep at the speed of raw disk"
homepage = "https://github.com/rakivo/rawgrep"
repository = "https://github.com/rakivo/rawgrep"
keywords = ["regex", "grep", "egrep", "search", "pattern"]
categories = ["command-line-utilities", "text-processing"]
build = "build.rs"
rust-version = "1.85.1"
[features]
default = ["dep:mimalloc", "full"]
use_nightly = []
# profiling
tracy = ["tracy-client/enable"]
# allocators
mimalloc = ["dep:mimalloc"]
dhat = ["dep:dhat"]
# Want a small binary? Do this:
# RUSTFLAGS="-Zunstable-options -Cpanic=immediate-abort -Zlocation-detail=none -Zfmt-debug=none" \
# cargo +nightly b \
# -Z build-std=std,panic_abort \
# -Z build-std-features= \
# --profile=release-fast --target=x86_64-unknown-linux-gnu --no-default-features --features=use_nightly,small,mimalloc
small = ["regex-tiny", "clap-tiny"]
full = ["regex-full", "clap-full"]
[dependencies]
regex-full = { package="regex", version="1", default-features=false, features=["std", "perf"], optional=true }
regex-tiny = { package="regex", version="1", default-features=false, optional=true }
clap-full = { package="clap", version="4.5", default-features=false, features=["std", "help", "derive"], optional=true }
clap-tiny = { package="clap", version="4.5", default-features=false, features=["std", "derive"], optional=true }
aho-corasick = { version = "1.1.4", default-features = false }
smallvec = { version = "1.15.1", features = ["const_generics"] }
mimalloc = { version = "=0.1.47", optional = true }
ctrlc = { version = "3.5.1", default-features = false }
memchr = { version = "2.7.6", default-features = false, features = ["std"] }
libc = { version = "0.2.177", default-features = false }
tracy-client = { version = "0.17.3", default-features = false }
crossbeam-channel = { version = "0.5.15", default-features = false, features = ["std"] }
crossbeam-deque = { version = "0.8.6", default-features = false, features = ["std"] }
itoa = { version = "1.0.15", default-features = false }
fastrand = { version = "2.3.0", default-features = false, features = ["std"] }
bytemuck = { version = "1.24", features = ["derive"] }
dhat = { version = "0.3.3", default-features = false, optional = true }
nohash-hasher = "0.2.0"
parking_lot = "0.12.5"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
bumpalo = { version = "3.20.2", features = ["collections"] }
[target.'cfg(not(target_os = "macos"))'.dependencies]
gdt-cpus = { version = "25", default-features = false }
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = [
"Win32_Foundation",
"Win32_System_Threading",
"Win32_Storage_FileSystem",
"Win32_System_IO",
"Win32_System_Ioctl",
] }
[dev-dependencies]
proptest = "1"
tempfile = "3"
[build-dependencies]
rustc_version = "0.2"
[profile.release-debug]
inherits = "release"
opt-level = 3
codegen-units = 1
debug = true
strip = false
overflow-checks = false
debug-assertions = false
[profile.release-fast]
inherits = "release"
opt-level = 3
panic = "abort"
codegen-units = 1
lto = "fat"
debug = false
strip = true
overflow-checks = false
debug-assertions = false
[profile.release-small]
inherits = "release"
opt-level = "z"
panic = "abort"
codegen-units = 1
lto = "fat"
strip = true
debug = 0
overflow-checks = false
debug-assertions = false
# also: set RUSTFLAGS="-C force-frame-pointers=yes"
[profile.profiling]
inherits = "release"
debug = true # keep DWARF symbols
split-debuginfo = "packed" # so perf can find them easily (Linux)
strip = "none" # don’t strip symbols
lto = false
codegen-units = 16
overflow-checks = false
panic = "abort" # optional: less noise, smaller code
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }