64个版本 (37个稳定版)

新版本 4.3.6 2024年8月22日
4.3.5 2024年7月16日
4.3.2 2024年6月11日
4.2.6 2024年3月4日
1.0.0-alpha52020年11月6日

#429 in WebAssembly

Download history 7658/week @ 2024-05-03 6884/week @ 2024-05-10 6304/week @ 2024-05-17 7276/week @ 2024-05-24 6961/week @ 2024-05-31 8732/week @ 2024-06-07 16688/week @ 2024-06-14 9455/week @ 2024-06-21 13565/week @ 2024-06-28 24193/week @ 2024-07-05 27822/week @ 2024-07-12 21414/week @ 2024-07-19 15910/week @ 2024-07-26 18232/week @ 2024-08-02 18327/week @ 2024-08-09 30353/week @ 2024-08-16

84,497 每月下载量
用于 22 个crate(5个直接使用)

MIT 许可证

595KB
12K SLoC

wasmer-cache Build Status Join Wasmer Slack MIT License

wasmer-cache crate 允许在系统中缓存WebAssembly模块(类型为 wasmer::Module),以便下次使用模块时无需编译时间。

使用方法

Cache trait 表示一个通用的缓存,用于存储和加载编译后的WebAssembly模块。FileSystemCache 类型实现了 Cache,以在文件系统中存储缓存。

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(())
}

依赖项

~3–15MB
~217K SLoC