Skip to content

dstanesc/wasm-chunking-eval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wasm Content Defined Chunking Evaluation

Wasm library for content-based slicing. Convenience wrapper on existing rolling hash implementations in rust, such as provided by fastcdc, asuran chunker, etc.

Build requirements

Test

wasm-pack test --headless --firefox

Wasm build

wasm-pack build --out-dir pkg/webpack --out-name chunking --target bundler --scope dstanesc
wasm-pack build --out-dir pkg/node --out-name chunking --target nodejs --scope dstanesc

Packing for local usage

npm pack pkg/node/
npm pack pkg/webpack/

Install for NodeJS

npm install @dstanesc/wasm-chunking-node-eval

Install for Webpack bundling

npm install @dstanesc/wasm-chunking-webpack-eval

Usage

// import {compute_chunks_buzhash, compute_chunks_fastcdc} from "@dstanesc/wasm-chunking-webpack-eval";
import {compute_chunks_buzhash, compute_chunks_fastcdc} from "@dstanesc/wasm-chunking-node-eval";

const buf = ...
// mask 0b11111111111111
const offsets_buz = compute_chunks_buzhash(buf, 15).values(); 
// chunk sizes: min 16 KiB, avg 32 KiB, max 64 KiB
const offsets_fast = compute_chunks_fastcdc(buf, 16384, 32768, 65536).values();   

Licenses

Licensed under either of

at your option.

Fastcdc is distributed under the terms of the MIT license

Asuran Chunker is distributed under the terms of the BSD 2 Clause + Patent License.

About

Create wasm library for content-based slicing evaluation. Convenience wrapper on existing rolling hash implementations in rust.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE
MIT
LICENSE_MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages