[package] name = "puffin" version = "0.19.1" authors = ["Embark "] 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"] # Support lz4 compression. Fast, and lightweight dependency. # If both `lz4` and `zstd` are enabled, lz4 will be used for compression. lz4 = ["dep:lz4_flex"] # Support zstd compression. Slow and big dependency, but very good compression ratio. zstd = ["dep:zstd", "dep:ruzstd"] # Feature for enabling loading/saving data to a binary stream and/or file. serialization = ["packing"] # Enable this to be able to run puffin inside a browser when compiling to wasm 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"} # Optional: 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 } # native only # web: [target.'cfg(target_arch = "wasm32")'.dependencies] js-sys = { version = "0.3", optional = true } ruzstd = { version = "0.4.0", optional = true } # works on wasm web-time = { version = "0.2", optional = true } [dev-dependencies] criterion = "0.5" [[bench]] name = "benchmark" harness = false