mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-11-23 21:54:45 +02:00
There seems to be a modest improvement on some workloads: ``` $ time rg -co '\w+' sixteenth.txt 158520346 real 8.457 user 8.426 sys 0.020 maxmem 779 MB faults 0 $ time rg-lto -co '\w+' sixteenth.txt 158520346 real 8.200 user 8.178 sys 0.012 maxmem 778 MB faults 0 ``` I've somewhat reversed course on my previous thoughts here. The improvement isn't much, but the hit to compile times in CI isn't terrible. Mostly I'm doing this out of "good sense," and I think it's generally unlikely to make it more difficult for me to diagnose performance problems. (Since I still use the default `release` profile locally, since it's about an order of magnitude quicker to compile.) Ref #325, Ref #413, Ref #1187, Ref #1255
118 lines
3.1 KiB
TOML
118 lines
3.1 KiB
TOML
[package]
|
|
name = "ripgrep"
|
|
version = "14.1.1" #:version
|
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
|
description = """
|
|
ripgrep is a line-oriented search tool that recursively searches the current
|
|
directory for a regex pattern while respecting gitignore rules. ripgrep has
|
|
first class support on Windows, macOS and Linux.
|
|
"""
|
|
documentation = "https://github.com/BurntSushi/ripgrep"
|
|
homepage = "https://github.com/BurntSushi/ripgrep"
|
|
repository = "https://github.com/BurntSushi/ripgrep"
|
|
keywords = ["regex", "grep", "egrep", "search", "pattern"]
|
|
categories = ["command-line-utilities", "text-processing"]
|
|
license = "Unlicense OR MIT"
|
|
exclude = [
|
|
"HomebrewFormula",
|
|
"/.github/",
|
|
"/ci/",
|
|
"/pkg/brew",
|
|
"/benchsuite/",
|
|
"/scripts/",
|
|
"/crates/fuzz",
|
|
]
|
|
build = "build.rs"
|
|
autotests = false
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
|
|
[[bin]]
|
|
bench = false
|
|
path = "crates/core/main.rs"
|
|
name = "rg"
|
|
|
|
[[test]]
|
|
name = "integration"
|
|
path = "tests/tests.rs"
|
|
|
|
[workspace]
|
|
members = [
|
|
"crates/globset",
|
|
"crates/grep",
|
|
"crates/cli",
|
|
"crates/matcher",
|
|
"crates/pcre2",
|
|
"crates/printer",
|
|
"crates/regex",
|
|
"crates/searcher",
|
|
"crates/ignore",
|
|
]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.75"
|
|
bstr = "1.7.0"
|
|
grep = { version = "0.3.2", path = "crates/grep" }
|
|
ignore = { version = "0.4.23", path = "crates/ignore" }
|
|
lexopt = "0.3.0"
|
|
log = "0.4.5"
|
|
serde_json = "1.0.23"
|
|
termcolor = "1.1.0"
|
|
textwrap = { version = "0.16.0", default-features = false }
|
|
|
|
[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.tikv-jemallocator]
|
|
version = "0.6.0"
|
|
|
|
[dev-dependencies]
|
|
serde = "1.0.77"
|
|
serde_derive = "1.0.77"
|
|
walkdir = "2"
|
|
|
|
[features]
|
|
pcre2 = ["grep/pcre2"]
|
|
|
|
[profile.release]
|
|
debug = 1
|
|
|
|
[profile.release-lto]
|
|
inherits = "release"
|
|
opt-level = 3
|
|
debug = "none"
|
|
strip = "symbols"
|
|
debug-assertions = false
|
|
overflow-checks = false
|
|
lto = "fat"
|
|
panic = "abort"
|
|
incremental = false
|
|
codegen-units = 1
|
|
|
|
[profile.deb]
|
|
inherits = "release-lto"
|
|
|
|
[package.metadata.deb]
|
|
features = ["pcre2"]
|
|
section = "utils"
|
|
assets = [
|
|
["target/release/rg", "usr/bin/", "755"],
|
|
["COPYING", "usr/share/doc/ripgrep/", "644"],
|
|
["LICENSE-MIT", "usr/share/doc/ripgrep/", "644"],
|
|
["UNLICENSE", "usr/share/doc/ripgrep/", "644"],
|
|
["CHANGELOG.md", "usr/share/doc/ripgrep/CHANGELOG", "644"],
|
|
["README.md", "usr/share/doc/ripgrep/README", "644"],
|
|
["FAQ.md", "usr/share/doc/ripgrep/FAQ", "644"],
|
|
# The man page is automatically generated by ripgrep's build process, so
|
|
# this file isn't actually committed. Instead, to create a dpkg, either
|
|
# create a deployment/deb directory and copy the man page to it, or use the
|
|
# 'ci/build-deb' script.
|
|
["deployment/deb/rg.1", "usr/share/man/man1/rg.1", "644"],
|
|
# Similarly for shell completions.
|
|
["deployment/deb/rg.bash", "usr/share/bash-completion/completions/rg", "644"],
|
|
["deployment/deb/rg.fish", "usr/share/fish/vendor_completions.d/rg.fish", "644"],
|
|
["deployment/deb/_rg", "usr/share/zsh/vendor-completions/", "644"],
|
|
]
|
|
extended-description = """\
|
|
ripgrep (rg) recursively searches your current directory for a regex pattern.
|
|
By default, ripgrep will respect your .gitignore and automatically skip hidden
|
|
files/directories and binary files.
|
|
"""
|