[package]
name = "puffin"
version = "0.19.1"
authors = ["Embark <opensource@embark-studios.com>"]
categories = ["development-tools::profiling"]
description = "Simple instrumentation profiler for games"
edition.workspace = true
homepage = "https://github.com/EmbarkStudios/puffin"
keywords = ["profiler", "instrumentation", "gamedev"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/EmbarkStudios/puffin"
rust-version.workspace = true
include = ["**/*.rs", "Cargo.toml", "README.md", "../puffin.jpg"]
[package.metadata.docs.rs]
all-features = true
[features]
default = []
packing = ["dep:bincode", "lz4", "serde"]
lz4 = ["dep:lz4_flex"]
zstd = ["dep:zstd", "dep:ruzstd"]
serialization = ["packing"]
web = ["dep:js-sys", "dep:web-time"]
[dependencies]
byteorder = { version = "1.0" }
cfg-if = "1.0"
itertools = "0.10"
once_cell = "1.0"
parking_lot = { version = "0.12"}
anyhow = { version = "1.0" }
bincode = { version = "1.3", optional = true }
lz4_flex = { version = "0.11", optional = true, default-features = false }
serde = { version = "1.0", features = ["derive", "rc"], optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
zstd = { version = "0.12.3", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
js-sys = { version = "0.3", optional = true }
ruzstd = { version = "0.4.0", optional = true }
web-time = { version = "0.2", optional = true }
[dev-dependencies]
criterion = "0.5"
[[bench]]
name = "benchmark"
harness = false