-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
faster decoding #20
faster decoding #20
Conversation
- add DEFAULT_FOREGROUND color in Color.ts - removed DimensionDecoder (now part of wasm code) - removed SixelDecoderL2 (now part of wasm code) - fix prolly undefined palette color in encoder - wasm decoder: - changed to handle only one band at a time - static fixed memory with upper max band width - optimize with bulk-memory - added normal M1 for level 1 images or non truncating - cleanup emscripten install & wam build scripts - python wasmer example - wasm-simd proof of concept implementation - moved WasmDecoder.ts to Decoder.ts - Decoder.ts prepared as new main decoder - convenient decode functions - add new decoder to benchmarks - cleanup imports/export in index.ts - better build scripts: - remove the need for json imports - add UMD/ESM bundles for browser/webpack
@PerBothner Just finished the rework of the decoder details and some of the bundling aspects. It is still not fully finished for release (tests missing, old decoder to be removed, docs cleanup). In case you want to test things early, you can do that as follows: git clone git@github.com:jerch/node-sixel.git
cd node-sixel
git fetch origin pull/20/head:faster_decode
git checkout faster_decode
npm install (This will take some time to install emscripten.) If all went well, you'll find under Note that the decoder interface changed alot (mostly simplified, for now check in On my machine these are the benchmark results:
(DefaultDecoder is the old one, WasmDecoder the new one.) |
The PR introduces a webassembly decoder for faster decoding. Speedup is 3-4x.
Also fixes #17.
TODO: