[package] name = "collect" version = "0.2.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["jemalloc", "memfile", "logging", "tracing/release_max_level_warn"] #, "memfile" ] # TODO: mmap, memfd_create() ver memfile = ["bitflags", "lazy_static", "stackalloc"] # When unable to determine the size of the input, preallocate the buffer to a multiple of the system page-size before writing to it. This can save extra `ftruncate()` calls, but will also result in the buffer needing to be truncated to the correct size at the end if the sizes as not matched. memfile-preallocate = ["memfile"] # bytes: use `bytes` crate for collecting instead of `std::vec` # Use jemalloc instead of system malloc. # # Decreases memory-handling function calls, resulting in less "used" memory and faster allocation speeds at the cost of mapping a huge amount of virtual memory. jemalloc = ["jemallocator"] # Remove all runtime logging code. # # The capturing of spantraces will still happen if `logging` is enabled. disable-logging = [] #["tracing/max_level_off"] <-- no longer needed, would enable the `tracing` feature which we don't want. # Capture spantraces # # Will cause a slowdown, but provide more information in the event of an error or when debugging. logging = ["tracing", "tracing-subscriber", "tracing-error", "color-eyre/capture-spantrace"] #, "recolored" <- XXX doesn't work in tracing output for some reason...] [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 strip=true [profile.symbols] inherits="release" #incremental=true strip=false [dependencies] bytes = { version = "1.1.0", optional = true } cfg-if = { version = "1.0.0" } jemallocator = { version = "0.3.2", optional = true } libc = "0.2.122" tracing = { version = "0.1.33", features = ["attributes"], optional = true } tracing-error = {version = "0.2.0", optional = true } tracing-subscriber = { version = "0.3.11", features = ["tracing", "env-filter"], optional = true } color-eyre = { version = "0.6.1", default-features=false }#, features = ["capture-spantrace"] } recolored = { version = "1.9.3", optional = true } memchr = "2.4.1" lazy_format = "1.10.0" bitflags = {version = "1.3.2", optional = true } stackalloc = {version = "1.1.1", optional = true } lazy_static = { version = "1.4.0", optional = true }