wasmer-cache

Crates.iowasmer-cache
lib.rswasmer-cache
version5.0.3
sourcesrc
created_at2020-08-15 01:01:07.832195
updated_at2024-12-07 16:52:54.191823
descriptionCache system for Wasmer WebAssembly runtime
homepagehttps://wasmer.io/
repositoryhttps://github.com/wasmerio/wasmer
max_upload_size
id276876
size16,770
Wasmer Core (github:wasmerio:wasmer-core)

documentation

README

wasmer-cache Build Status Join Wasmer Slack MIT License

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(())
}
Commit count: 17039

cargo fmt