Crate include_flate
source ·Expand description
A variant of include_bytes!
/include_str!
with compile-time deflation and runtime lazy inflation.
Why?
include_bytes!
/include_str!
are great for embedding resources into an executable/library
without involving the complex logistics of maintaining an assets manager.
However, they are copied as-is into the artifact, leading to unnecessarily large binary size.
This library automatically compresses the resources and lazily decompresses them at runtime,
allowing smaller binary sizes.
Nevertheless, this inevitably leads to wasting RAM to store both the compressed and decompressed data, which might be undesirable if the data are too large. An actual installer is still required if the binary involves too many resources that do not need to be kept in RAM all time.
Re-exports
pub use include_flate_codegen_exports as codegen;
Macros
include_bytes!
or include_str!
, but compresses at compile time
and lazily decompresses at runtime.