Компания Google открыла код Snappy, библиотеки для сжатия данных
Код Snappy можно считать стабильным, так как он давно и активно используется в первичных проектах Google, от BigTable и MapReduce до внутренних RPC-систем. По заявлению Google, формат кодирования Snappy зафиксирован и не будет меняться в будущих версиях библиотеки. Отдельно отмечается высокая стойкость декодировщика к нарушению целости обрабатываемого потока, который разработан специально с оглядкой на исключение крахов при обработке любых входных данных.
Скорость работы Snappy значительно опережает такие реализации, как LZO, LZF, FastLZ и QuickLZ, при отстающем, но сопоставимом уровне сжатия. На одноядерном CPU Core i7 64-разрядная сборка Snappy продемонстрировала способность сжимать потоки данных со скоростью 250 Мб/сек и разжимать со скоростью 500 Мб/сек. Примечательно, что добиться столь высокого уровня производительности удалось без использования ассемблерных вставок, что позволяет использовать Snappy для различных архитектур и платформ.
При сравнении с наиболее быстрым режимом сжатия библиотеки zlib, Snappy продемонстрировала десятикратный выигрыш в скорости при тестировании наборов данных различного характера (от текстов до бинарных объектов), но при этом размер сжатых данных получался на 20-100% больше. Для обычного текста уровень обеспечиваемого в Snappy сжатия составляет 1.5-1.7 раз, для HTML-файлов - 2-4 раза. Zlib в быстром режиме обеспечивает сжатие в текста в 2.6-2.8 раз, а HTML-файлов в 3-7 раз.
Источник: http://www.opennet.ru/opennews/art.shtml?num=30003
|
0 | Tweet | Нравится |
|