diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e6c9e5a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2014 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md index 06639bd..786f730 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,72 @@ pako [![Build Status](https://travis-ci.org/nodeca/pako.png?branch=master)](https://travis-ci.org/nodeca/pako) -zlib port to javascript, works in browser & node.js +zlib port to javascript. _Very fast!_ + +__Why pako is cool:__ + +- Almost as fast im modern browsers as C implementation (see benchmarks) +- Works in browser +- Modular - you can browserify any separate component +- Both Sync & streamable interfaces (streamable is for big blobs) +- It's fresh - ports the latest zlib version (now 1.2.8) +- Tested - result is binary equal to zlib's one +- No restrictions - MIT licence + +__Benchmarks:__ + + +``` +node v0.11, 10mb sample: + + deflate-gildas x 2.82 ops/sec ±1.21% (11 runs sampled) + deflate-imaya x 2.25 ops/sec ±0.59% (9 runs sampled) + ! deflate-pako x 6.09 ops/sec ±0.98% (19 runs sampled) + deflate-zlib x 9.13 ops/sec ±0.92% (46 runs sampled) + +node v0.11, 10mb sample: + + deflate-gildas x 3.39 ops/sec ±6.58% (12 runs sampled) + deflate-imaya x 2.14 ops/sec ±4.29% (9 runs sampled) + ! deflate-pako x 6.61 ops/sec ±0.66% (20 runs sampled) + deflate-zlib x 9.28 ops/sec ±1.98% (47 runs sampled) +``` + + +API +--- + +TBD + + +Notes +----- + +Since pako was done mostly for browser, some specific functions were left unported. + +deflate: + +- writing custom gzip headers (default is ok) +- `deflateSetDictionary`, `deflateParams`, `deflateSetHeader`, `deflateBound`, `deflatePending` + +inflate: + +TBD + +We will probably provide more modular design, to keep significant part of code reasonably small. + +Authors +------- + +- Andrey Tupitsin [@anrd83](https://github.com/andr83) +- Vitaly Puzrin [@puzrin](https://github.com/andr83) + +Special thanks to Vyacheslav Egorov ([@mraleph](https://github.com/mraleph)) for +his awesome tutoruals about optimising code for v8, [IRHydra](http://mrale.ph/irhydra/) +tool and personal advices. + + +License +------- + +MIT \ No newline at end of file