bottom/Cargo.toml
Clement Tsang 9c3e60e74f
other: slightly reduce the CPU time spent for draws (#918)
* other: group all dataset draws in a time chart

We used to draw each data set separately as a new canvas. Now, in one
canvas, we draw all datasets.

Note that this changes how dataset  lines are drawn - rather than
drawing one on top of another, it now draws kinda all at once. This
effect is *kinda* a bit better IMO, but it might also look a bit
more cluttered.

* other: optimize truncate_text

Flamegraphs showed that this area seems to be a bit heavy at times with
some inefficient use of iterators and collection. This change should
hopefully optimize this a bit by reducing some collections or
reallocations.

There can also be some further optimizations with less allocations from
callers.

* Reduce some redundant draws
2022-11-29 03:53:58 -05:00

165 lines
4.3 KiB
TOML

[package]
name = "bottom"
version = "0.6.9"
authors = ["Clement Tsang <cjhtsang@uwaterloo.ca>"]
edition = "2018"
repository = "https://github.com/ClementTsang/bottom"
keywords = ["cross-platform", "monitoring", "cli", "top", "tui"]
license = "MIT"
categories = ["command-line-utilities", "visualization"]
description = "A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows."
documentation = "https://clementtsang.github.io/bottom/stable"
readme = "README.md"
default-run = "btm"
build = "build.rs"
exclude = [
".cargo-husky/",
".github/",
"assets/",
"scripts/",
"docs/",
"sample_configs/",
".all-contributorsrc",
".cirrus.yml",
".markdownlint.json",
"CHANGELOG.md",
"clippy.toml",
"codecov.yml",
"CONTRIBUTING.md",
"Cross.toml",
"rustfmt.toml",
]
[[bin]]
name = "btm"
path = "src/bin/main.rs"
doc = false
[lib]
test = true
doctest = true
doc = true
[profile.release]
# debug = true
# strip = false
debug = 0
strip = "symbols"
lto = true
opt-level = 3
codegen-units = 1
[features]
battery = ["starship-battery"]
gpu = ["nvidia"]
nvidia = ["nvml-wrapper"]
zfs = ["sysctl"]
# The features we use by default.
default = ["fern", "log", "battery", "gpu", "zfs"]
# The features we use on deploy. Logging is not included as that is primarily (for now) just for debugging locally.
deploy = ["battery", "gpu", "zfs"]
[dependencies]
anyhow = "1.0.57"
backtrace = "0.3.65"
cfg-if = "1.0.0"
clap = { version = "3.1.12", features = ["default", "cargo", "wrap_help"] }
const_format = "0.2.30"
concat-string = "1.0.1"
crossterm = "0.25.0"
ctrlc = { version = "3.1.9", features = ["termination"] }
dirs = "4.0.0"
fern = { version = "0.6.1", optional = true }
futures = "0.3.21"
futures-timer = "3.0.2"
fxhash = "0.2.1"
humantime = "2.1.0"
humantime-serde = "1.1.1"
indexmap = "1.8.1"
itertools = "0.10.3"
kstring = { version = "2.0.0", features = ["arc"] }
log = { version = "0.4.16", optional = true }
nvml-wrapper = { version = "0.8.0", optional = true }
once_cell = "1.5.2"
regex = "1.5.5"
serde = { version = "1.0.136", features = ["derive"] }
starship-battery = { version = "0.7.9", optional = true }
sysinfo = "0.26.7"
thiserror = "1.0.30"
time = { version = "0.3.9", features = ["formatting", "macros"] }
toml = "0.5.9"
tui = "0.19.0"
typed-builder = "0.10.0"
unicode-segmentation = "1.9.0"
unicode-width = "0.1.9"
[target.'cfg(unix)'.dependencies]
libc = "0.2.124"
[target.'cfg(target_os = "linux")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["cpu", "disk", "net", "sensors"] }
procfs = { version = "0.14.1", default-features = false }
smol = "1.2.5"
[target.'cfg(target_os = "macos")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["cpu", "disk", "memory", "net"] }
mach2 = "0.4.1"
[target.'cfg(target_os = "windows")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["cpu", "disk", "memory"] }
winapi = "0.3.9"
[target.'cfg(target_os = "freebsd")'.dependencies]
serde_json = { version = "1.0.82" }
sysctl = { version = "0.5.2", optional = true }
filedescriptor = "0.8.2"
[dev-dependencies]
assert_cmd = "2.0.4"
predicates = "2.1.1"
[build-dependencies]
clap = { version = "3.1.12", features = ["default", "cargo", "wrap_help"] }
clap_complete = "3.1.2"
clap_mangen = "0.1.6"
[package.metadata.deb]
section = "utility"
assets = [
["target/release/btm", "usr/bin/", "755"],
["LICENSE", "usr/share/doc/btm/", "644"],
["manpage/btm.1.gz", "usr/share/man/man1/btm.1.gz", "644"],
[
"completion/btm.bash",
"usr/share/bash-completion/completions/btm",
"644",
],
[
"completion/btm.fish",
"usr/share/fish/vendor_completions.d/btm.fish",
"644",
],
["completion/_btm", "usr/share/zsh/vendor-completions/", "644"],
]
extended-description = """
By default, bottom will look for a config file in ~/.config/bottom/bottom.toml. A config file can be specified \
using `-C`. If a config file does not exist at the specified or default location, a default one will be created \
for the user there.
"""
[package.metadata.deb.variants.arm64]
depends = "libc6:arm64 (>= 2.28)"
[package.metadata.deb.variants.armhf]
depends = "libc6:armhf (>= 2.28)"
[package.metadata.wix]
output = "bottom_x86_64_installer.msi"
[dev-dependencies.cargo-husky]
version = "1"
default-features = false
features = ["user-hooks"]