Запилили deflate в порте zlib на javascript. Разница по скорости ВСЕГО В ПОЛТОРА РАЗА.
node v0.10, 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)
И это еще код до конца не вычищен. Кто не верит - может запустить бенчмарк самостоятельно. Уровень компрессии там подкручивается. Бенчи гонялись для level 6. Если поставить level 0 (store), то скорость подскочит до 50 мб.сек. Это можно считать подтверждением, что нет явных просадок на пробросе данных из zlib и проц действительно тратится именно на вычисления. Гонял на 2 версиях ноды, потому что там v8 заметно отличиается.
https://github.com/nodeca/pako
Жду историй успеха про быстрый руби, быстрый питон, и т.п. :)