63 releases (36 stable)
new 4.3.5 | Jul 16, 2024 |
---|---|
4.3.2 | Jun 11, 2024 |
4.2.6 | Mar 4, 2024 |
4.2.5 | Dec 23, 2023 |
1.0.0-alpha5 | Nov 6, 2020 |
#155 in WebAssembly
71,987 downloads per month
Used in 19 crates
(5 directly)
595KB
12K
SLoC
wasmer-cache
![MIT License](https://img.shields.io/github/license/wasmerio/wasmer.svg?style=flat-square)
The wasmer-cache
crate allows to cache WebAssembly modules (of kind
wasmer::Module
) in your system, so that next uses of the module does
imply a compilation time.
Usage
The Cache
trait represents a generic cache for storing and loading
compiled WebAssembly modules. The FileSystemCache
type implements
Cache
to store cache on the file system.
use wasmer::{DeserializeError, Module, SerializeError};
use wasmer_cache::{Cache, FileSystemCache, Hash};
fn store_module(module: &Module, bytes: &[u8]) -> Result<(), SerializeError> {
// Create a new file system cache.
let mut fs_cache = FileSystemCache::new("some/directory/goes/here")?;
// Compute a key for a given WebAssembly binary
let hash = Hash::generate(bytes);
// Store a module into the cache given a key
fs_cache.store(hash, module.clone())?;
Ok(())
}
Dependencies
~4–16MB
~227K SLoC