stoolap-jemalloc 0.1.5

A jemalloc-style memory allocator written in pure Rust, with a built-in pprof heap profiler
Documentation
[package]
name = "stoolap-jemalloc"
version = "0.1.5"
edition = "2024"
rust-version = "1.88"
authors = ["Stoolap Contributors"]
description = "A jemalloc-style memory allocator written in pure Rust, with a built-in pprof heap profiler"
license = "Apache-2.0"
repository = "https://github.com/stoolap/stoolap-jemalloc"
homepage = "https://github.com/stoolap/stoolap-jemalloc"
documentation = "https://docs.rs/stoolap-jemalloc"
readme = "README.md"
keywords = ["allocator", "jemalloc", "malloc", "pprof", "profiling"]
categories = ["memory-management", "development-tools::profiling"]
# The benchmarks and CI files stay in the repository, out of the package
exclude = [".github/", "bench/", "codecov.yml"]

[features]
default = ["symbolize"]
# Resolve function names, files and lines into the pprof profile
symbolize = ["dep:backtrace"]

[dependencies]
backtrace = { version = "0.3", optional = true }

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = [
    "Win32_Foundation",
    "Win32_System_Diagnostics_Debug",
    "Win32_System_LibraryLoader",
    "Win32_System_Memory",
    "Win32_System_ProcessStatus",
    "Win32_System_SystemInformation",
    "Win32_System_Threading",
] }

[profile.release]
debug = 1

[lints.rust]
missing_docs = "warn"
# Unsafe functions here are internal and documented as unsafe as a whole
unsafe_op_in_unsafe_fn = "allow"

[lints.clippy]
pedantic = { level = "warn", priority = -1 }
# An allocator converts between integer and pointer widths on purpose:
# sizes, page indexes and addresses are bounded by construction
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
cast_ptr_alignment = "allow"
ptr_as_ptr = "allow"
# The fast paths are inlined on purpose, as measured by the benchmarks
inline_always = "allow"
# Bitmap code indexes several arrays with the same index
needless_range_loop = "allow"

[dev-dependencies]
libc = "0.2"