Hello,
I have ported LZ4 compress(fast version) and uncompress functions to pure Javascript. And they are pretty fast... I have added basic benchmarks and they are faster than zlibs _but_ the compression ratio is not as good (1Mb test file compressed into 420Kb instead of 250Kb for zlib): On Node v0.10.26, using lorem_1mb.txt as data: LZ4: Input size: 1000205 Output size: 433234 lz4.encodeBlock native x 106 ops/sec ±0.41% (79 runs sampled) lz4.decodeBlock native x 217 ops/sec ±0.16% (93 runs sampled) lz4.encodeBlock JS x 9.84 ops/sec ±1.63% (29 runs sampled) lz4.decodeBlock JS x 52.29 ops/sec ±0.56% (69 runs sampled) Zlib: Sample: lorem_1mb.txt (1000205 bytes raw / ~257018 bytes compressed) > deflate-dankogai x 1.25 ops/sec ±0.52% (7 runs sampled) > deflate-gildas x 1.13 ops/sec ±3.07% (6 runs sampled) > deflate-imaya x 0.95 ops/sec ±5.06% (6 runs sampled) > deflate-pako x 1.73 ops/sec ±0.96% (8 runs sampled) > deflate-pako-untyped x 1.13 ops/sec ±2.28% (6 runs sampled) > deflate-zlib x 3.67 ops/sec ±0.83% (22 runs sampled) > inflate-dankogai x 5.66 ops/sec ±3.86% (19 runs sampled) > inflate-imaya x 5.90 ops/sec ±2.65% (18 runs sampled) > inflate-pako x 15.35 ops/sec ±3.79% (39 runs sampled) > inflate-pako-untyped x 4.11 ops/sec ±6.32% (14 runs sampled) > inflate-zlib x 35.55 ops/sec ±2.99% (81 runs sampled) The code is located at: https://github.com/pierrec/node-lz4 When run in Node, it will use the native bindings. The JS port is in the build/lz4.js or build/lz4.min.js files and useable in the browser. See the README for usage. Cheers, Pierre Thanks Vitaly, this looks great and I am looking forward to going through > the code. > > Would you consider doing a JS port of LZ4 for use-cases where > compression/decompression speed is more important than compression ratio? > See http://code.google.com/p/lz4/ > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
