Сжатие в node.js - PullRequest
       10

Сжатие в node.js

2 голосов
/ 17 июня 2011

Я помещаю некоторые большие значения JSON в свой уровень кэширования (redis), и я думаю, что они могли бы использовать некоторое сжатие, чтобы немного сократить использование моей памяти.

Какие модули сжатия для node.js делаютты используешь?По какой-то причине все, что перечислено на вики-узле joyent / node Modules выглядит подозрительно - либо 404-е, ни одного коммита в течение более года, очень мало людей смотрят, или открывают сообщения об утечках памяти.

Snappy выглядит неплохо, но я бы предпочел что-то более переносимое.

Я бы предпочел асинхронный API сжатия / распаковки, а не блокирующий, но мне также любопытноесли вы думаете, что это имеет большое значение для низких уровней сжатия.

Заранее спасибо за ваши ответы!


РЕДАКТИРОВАТЬ:

О переносимости : я действительно имел в виду, что модуль может быть установлен через npm и не имеет внешних зависимостей, которые отсутствуют в общих * NIX-установках.Зачем?Потому что некоторые установки PaaS (в настоящее время только celadon-cedar heroku , насколько мне известно, но, возможно, в будущем) не обеспечивают традиционного доступа администратора к среде экземпляра через ssh или тому подобное, и единственный способвводить зависимости можно через npm.

В идеале модуль также должен работать на Cygwin.

Так что бы вы использовали?

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

Когда вы говорите «более переносимый», я предполагаю, что вы ссылаетесь на код C ++ с помощью snappy.К сожалению, собственная реализация javascript большинства алгоритмов сжатия будет на порядок медленнее, чем собственная реализация C / C ++, поэтому ее используют почти все библиотеки сжатия узлов.Snappy чрезвычайно портативен (я построил его на Solaris, Linux и OSX) и достаточно активен.Я настоятельно рекомендовал бы это по всему остальному.

1 голос
/ 18 июня 2011

Существуют оптимизации, которые вы можете попробовать перед добавлением компрессии.См. документацию по оптимизации памяти .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...