This repository has been archived by the owner on Apr 29, 2020. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a WASM rabin chunker that works in node and js.
If merged this will be the first wasm module in js-ipfs code base Yay 🚀
some benchmarks on a 100Mb random stream
native rabin x 0.51 ops/sec ±2.56% (7 runs sampled)
wasm rabin x 0.23 ops/sec ±2.72% (6 runs sampled)
js rabin x 0.05 ops/sec ±3.78% (5 runs sampled)
Fastest is native rabin
This makes the wasm version consistently 50% slower (it will only get faster) than native but works in the browser, node 10 and 12 and has no native dependencies.
Regarding size
Package size: 4.66 KB with all dependencies, minified and gzipped
/cc @ipfs/wg-js-core