...

пятница, 21 марта 2014 г.

Быстрый gzip в браузере


сегодня в 16:53


Недавно появился проект pako, это порт на яваскрипт известной библиотеки

для компрессии и декомпрессии данных — zlib.

Очень любопытен результат тестов.



На движке v8 годовалой давности скорость на вычислениях

всего в полтора раза уступала оригинальной библиотеке, написанной на C. А в более

свежей ноде отрыв сократился до 1.2-1.3 раз. Вот опубликованные бенчмарки:


node v0.10.26, 1mb sample:



deflate-dankogai x 4.74 ops/sec ±0.68% (15 runs sampled)

deflate-gildas x 4.61 ops/sec ±1.73% (15 runs sampled)

deflate-imaya x 3.10 ops/sec ±3.73% (11 runs sampled)

! deflate-pako x 7.11 ops/sec ±0.26% (21 runs sampled)

deflate-pako-untyped x 4.34 ops/sec ±1.35% (14 runs sampled)

deflate-zlib x 14.34 ops/sec ±2.90% (68 runs sampled)

inflate-dankogai x 31.29 ops/sec ±0.72% (56 runs sampled)

inflate-imaya x 30.49 ops/sec ±0.84% (53 runs sampled)

! inflate-pako x 70.00 ops/sec ±1.60% (71 runs sampled)

inflate-pako-untyped x 17.67 ops/sec ±1.27% (33 runs sampled)

inflate-zlib x 70.82 ops/sec ±1.69% (81 runs sampled)



node v0.11.11, 1mb sample:



deflate-dankogai x 5.61 ops/sec ±0.30% (17 runs sampled)

deflate-gildas x 4.97 ops/sec ±5.68% (16 runs sampled)

deflate-imaya x 3.53 ops/sec ±4.19% (12 runs sampled)

! deflate-pako x 11.52 ops/sec ±0.23% (32 runs sampled)

deflate-pako-untyped x 5.12 ops/sec ±1.44% (17 runs sampled)

deflate-zlib x 14.33 ops/sec ±3.34% (63 runs sampled)

inflate-dankogai x 42.96 ops/sec ±0.19% (57 runs sampled)

inflate-imaya x 85.05 ops/sec ±1.07% (71 runs sampled)

! inflate-pako x 97.58 ops/sec ±0.69% (80 runs sampled)

inflate-pako-untyped x 18.06 ops/sec ±0.65% (56 runs sampled)

inflate-zlib x 60.60 ops/sec ±2.04% (67 runs sampled)



Обратите внимание, что когда делаются прослойки к системным библиотекам, то

маршалинг (проброс объектов в яваскрипт и обратно) не бесплатный. Поэтому

на «лёгком» inflate получился забавный результат, когда

«яваскриптовый код быстрее сишного». Конечно это не так. На тестах deflate,

где действительно высокая нагрузка на процессор, доля расходов на маршалинг

невелика, и отношение скоростей выглядит правдоподобным.


Это НЕ asm.js. Обычный яваскрипт. Бенчмарки, к сожалению, только под v8.

Но отношение скоростей между другими браузерами можно посмотреть в трекере

известной библиотеки jszip
,

авторы которой сейчас тестируют pako.





Свежий взгляд

на бег


протестируй кроссовки

нового поколения




Стань

первоиспытателем!


Скачай Windows Server 2012 R2

и выиграй почетную футболку!


Скачать




Автоматизированное

продвижение сайтов




  • 50% экономии на ссылках

  • Запуск проекта за 10 минут

  • Вывод и удержание в ТОП 10



Подробнее




Новый 3G-планшет Login 2



2790 р.*


*Условия акции на www.megafon.ru

Подробнее




Разрабатываешь

приложения для бизнеса?


Участвуй в конкурсе



Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий