The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

23.03.2011 11:40  Компания Google открыла код Snappy, библиотеки для сжатия данных

Компания Google открыла под лицензией Apache код библиотеки 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 раз.

  1. Главная ссылка к новости (http://code.google.com/p/snapp...)
  2. OpenNews: Яндекс начал формирование коллекции своих открытых проектов
  3. OpenNews: Компания Google открыла исходные тексты библиотеки регулярных выражений RE2
Автор новости: armsargis
Тип: Программы
Ключевые слова: Snappy, compress, zlib
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Timka (??), 12:59, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]
  • +4 +/
    где бы посмотреть на одноядерный CPU Core i7?
     
     
  • 2.3, Аноним (-), 13:17, 23/03/2011 [^] [ответить]    [к модератору]
  • +/
    Отключить все ядра кроме одного в bios
     
     
  • 3.7, Timka (??), 13:51, 23/03/2011 [^] [ответить]    [к модератору]
  • +4 +/
    одноядерным он от этого не станет
     
  • 2.30, pavlinux (ok), 15:31, 23/03/2011 [^] [ответить]    [к модератору]
  • +2 +/
    grub:

    nosmp

     
  • 2.61, Brick (??), 21:53, 23/03/2011 [^] [ответить]    [к модератору]
  • +1 +/
    > где бы посмотреть на одноядерный CPU Core i7?

    "On a single core of a Core i7 processor" - думаю имелось в виду: "на одном ядре Core i7"

     
  • 1.2, Аноним (-), 13:06, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Опять не рыба не мясо. zlib жмёт достаточно быстро, при этом лучше и стандартен. А для более эффективного сжатия есть более другие алгоритмы.
     
     
  • 2.5, Аноним (-), 13:24, 23/03/2011 [^] [ответить]    [к модератору]  
  • +4 +/
    > Опять не рыба не мясо. zlib жмёт достаточно быстро, при этом лучше
    > и стандартен. А для более эффективного сжатия есть более другие алгоритмы.

    До 500MB/sec zlib-у как до луны пешком.

     
     
  • 3.9, Nxx (ok), 14:06, 23/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    В статье же написано 500 Мб/с.
     
     
  • 4.36, Аноним (-), 16:43, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Мб != Mb
    В русском сокращения МБ и Мб традиционно обозначают мегабайт... Мегабит обозначается как Мбит. По крайней мере чаще всего.
    В оригинальной новости MB.
     
     
  • 5.72, Аноним (-), 11:41, 24/03/2011 [^] [ответить]     [к модератору]  
  • +/
    Не знаю что за традиции и откуда вы их взяли, но всегда считал Мб Mb Конечно... весь текст скрыт [показать]
     
     
  • 6.94, Аааа (?), 10:28, 30/03/2011 [^] [ответить]    [к модератору]  
  • +/
    >Не знаю что за традиции и откуда вы их взяли

    они вокруг нас

     
  • 2.11, FractalizeR (ok), 14:10, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Какие, например?
     
  • 2.19, 123456 (??), 14:29, 23/03/2011 [^] [ответить]     [к модератору]  
  • +4 +/
    не, zlib жмёт недостаточно быстро а вообще, слова достаточно недостаточно р... весь текст скрыт [показать]
     
  • 2.23, User294 (ok), 14:37, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    Такое хорошо чтобы нахаляву диски разогнать Если у вас диск записывает со ск... весь текст скрыт [показать]
     
     
  • 3.26, Аноним (-), 14:46, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    И чеб такое в контроллер диска на железе не зафигачить ?
     
     
  • 4.32, pavlinux (ok), 15:32, 23/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > И чеб такое в контроллер диска на железе не зафигачить ?

    см. RAID-контролер'с


     
     
  • 5.59, Аноним (-), 21:42, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    Ну, RAID это отдельно строить надо, а чеб спрашивается в штатный контроллер диск... весь текст скрыт [показать]
     
     
  • 6.62, filosofem (ok), 22:37, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    Гигабайты текстоподобных файлов на обычном диске редко хранят В штатном случае ... весь текст скрыт [показать]
     
     
  • 7.63, Аноним (-), 23:00, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    В принципе да, но я б не сказал что эффект будет незаметен, всякие папки с докам... весь текст скрыт [показать]
     
  • 6.69, вася (??), 10:59, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Ну и какой объем у этого диска получится? Он же будет зависеть от того, какие данные на него пишешь. Не говоря уже о прелестях восстановлении после сбоев...
     
     
  • 7.73, Аноним (-), 13:02, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Объем номинальный, точно так же как и при обычном архивировании, вы же не считаете что после этого у вас вырос объем диска. И какие проблемы с восстановлением ?
     
  • 4.37, User294 (ok), 16:53, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    В принципе этому ничего не мешает особо Только проц - вот он, уже есть, потому ... весь текст скрыт [показать]
     
     
  • 5.60, Аноним (-), 21:52, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Понятно что будет дороже, но так ли критично, скажем имеете вы диск 150 МБ/сек за 5000 р, и рядом 300 МБ/сек за 6, ну явно спрос будет ;) Технологичнее получается чем ЦП грузить.
     
     
  • 6.64, User294 (ok), 23:27, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    Технологичнее, только процы дуром прут и массово клепаются, а потому дешевые, пр... весь текст скрыт [показать]
     
     
  • 7.65, Аноним (-), 23:43, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    Не, ну понятно что у ЦП тоже варианты есть, как минимум для начала, что же касае... весь текст скрыт [показать]
     
     
  • 8.87, letsmac (ok), 22:11, 24/03/2011 [^] [ответить]     [к модератору]  
  • +/
    12 лет жду дешевого рэйда - а его все нет 12 лет назад обычным был буфер 16 мет... весь текст скрыт [показать]
     
  • 3.55, ascrzy (?), 20:35, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Не получили Вы скорость записи на диск в  300Мб/сек, потому что данные вы сжали, но время сжатия не посчитали. Если учтёте, получите ~187 Мб/сек, что не так уж и много.
     
     
  • 4.58, Аноним (-), 21:30, 23/03/2011 [^] [ответить]    [к модератору]  
  • +2 +/
    А зачем его считать если сжатие идет быстрее записи и параллельно ей ?
     
     ....нить скрыта, показать (22)

  • 1.4, Аноним (-), 13:22, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ну хорошо, по сжатию в 2 раза хуже zlib, а по скорости при этом как ? Молчек. Если лучше в те же 2 раза то смысла то нет.
     
     
  • 2.6, Andrey Mitrofanov (?), 13:39, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Автор говорит, в 10. http://blog.sesse.net/blog/tech/2011-03-22-19-24_snappy.html
     
     
  • 3.14, Аноним (-), 14:21, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Ну тогда серьезно.
     
  • 1.8, xxx (??), 13:52, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • –18 +/
    Блин, жалко что C++, а то попробывал использовать бы у себя в проекте.
     
     
  • 2.10, mine (ok), 14:09, 23/03/2011 [^] [ответить]    [к модератору]  
  • –13 +/
    Да, совсем не понятно зачем оно C++
     
     
  • 3.12, Карбофос (ok), 14:14, 23/03/2011 [^] [ответить]    [к модератору]  
  • +4 +/
    перепишите на яву (или что там у вас), потестируйте. потом узнаете, почему
     
     
  • 4.76, mine (ok), 15:20, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    У меня "там" чистый С.
    Перепиши и протестируй. Особенно совместимость посмотри - полезно будет.
     
     
  • 5.82, funny_falcon (?), 18:31, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    extern "C" {} не спасёт?
     
     
  • 6.83, funny_falcon (?), 18:33, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Прочитал дальше ветку. Извиняюсь.
     
     
  • 7.84, funny_falcon (?), 18:51, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Впрочем, там код не сложный.
    Я бы взялся переписать, если бы мне нужно было/заплатили.
     
     
  • 8.85, mine (ok), 19:27, 24/03/2011 [^] [ответить]     [к модератору]  
  • –3 +/
    Проблема не в сложности переписывания Проблема в необходимости оптимизации пере... весь текст скрыт [показать]
     
  • 5.91, Карбофос (ok), 10:42, 25/03/2011 [^] [ответить]     [к модератору]  
  • +/
    то есть код ты так и не смотрел давай, тролль дальше о неких совместимостях и т... весь текст скрыт [показать]
     
  • 2.15, Аноним (-), 14:23, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    > Блин, жалко что C++, а то попробывал использовать бы у себя в
    > проекте.

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

     
     
  • 3.22, Карбофос (ok), 14:32, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    так это ж читать надо. знать, что такое нативная функция... а вообще, мне страшно за такие проекты
     
  • 3.28, IGX (?), 15:04, 23/03/2011 [^] [ответить]    [к модератору]  
  • +3 +/
    Лучше бы на Си.
     
     
  • 4.45, stom (?), 18:05, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    чем лучше, поясните
     
     
  • 5.51, IGX (?), 19:34, 23/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > чем лучше, поясните

    Тем, что во встраиваемых решениях не попользуешь из-за отсутствия компилятора Си++

     
     
  • 6.52, stom (?), 19:45, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    приведите, пожалуйста, пример встроенной системы, в которой вы имели бы желание использовать snappy, но вынуждены отказаться в основном ввиду описанных вами выше ограничений
     
     
  • 7.67, IGX (?), 02:26, 24/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > приведите, пожалуйста, пример встроенной системы, в которой вы имели бы желание использовать
    > snappy, но вынуждены отказаться в основном ввиду описанных вами выше ограничений

    микроконтроллеры

     
     
  • 8.88, letsmac (ok), 22:13, 24/03/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Если в контроллер влезает код библиотеки такого размера - он по определению подд... весь текст скрыт [показать]
     
  • 4.71, Карбофос (ok), 11:29, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    дык и перепишите. благо, исходники на плюсах именно этого проекта всего лишь 100kB!
     
     
  • 5.74, IGX (?), 14:19, 24/03/2011 [^] [ответить]     [к модератору]  
  • +/
    А время и желание есть Зачем переписывать snappy на Си, если есть гораздо более... весь текст скрыт [показать]
     
     
  • 6.75, Карбофос (ok), 14:52, 24/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    зачем тогда вообще поднимать сыр-бор из-за каких-то 100 килобайт исходников? есть что-то другое - используйте, кто ж спорит. :)
     
  • 3.44, xxx (??), 18:02, 23/03/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Нет не может Есть специфичная железяка и только сишный компилятор, а С сильно... весь текст скрыт [показать]
     
     
  • 4.53, Аноним (-), 20:09, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    А сишный компилер полноценный ? что за железка если не секрет ?
     
  • 2.29, Аноним (-), 15:17, 23/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    Замечательно что на C++, сейчас других актуальных языков и нет. И что вам мешает использовать библиотеку в проекте?
     
     
  • 3.47, anonymous (??), 18:40, 23/03/2011 [^] [ответить]     [к модератору]  
  • +/
    ORLY то, что она на цпп придётся врапперы ваять ну её нафиг, такую библиотеку... весь текст скрыт [показать]
     
  • 2.42, xxx (??), 17:56, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    О, как заминусовали-то =) Нет, я не против С++, просто тот проект над которым я работаю предполагает именно Си, и да, С++ вообще нет возможности использовать.
     
     
  • 3.50, Карбофос (ok), 18:56, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    ну неужто там нет простого API? o_O
     
     
  • 4.56, Ytch (?), 21:24, 23/03/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    А какое там может быть API Есть набор Си-шных исходников Они компилируются В ... весь текст скрыт [показать]
     
     
  • 5.70, Карбофос (ok), 11:08, 24/03/2011 [^] [ответить]     [к модератору]  
  • +/
    для особо тяжелых случаев исходники можно и конвертнуть и избавиться от ОО если... весь текст скрыт [показать]
     
  • 3.57, Ytch (?), 21:29, 23/03/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Я думаю, минусанули потому что думали, что подразумевается что-то типа java как ... весь текст скрыт [показать]
     
  • 2.80, vasya (??), 16:42, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    extern "C"
     
     
  • 3.86, Ytch (?), 20:49, 24/03/2011 [^] [ответить]    [к модератору]  
  • +/
    >extern "C"

    Мимо. Это помогает в обратной ситуации (прикрутить Си-шный код в C++ программу)

     
     
  • 4.89, vasya (??), 08:11, 25/03/2011 [^] [ответить]    [к модератору]  
  • +/
    >>extern "C"
    > Мимо. Это помогает в обратной ситуации (прикрутить Си-шный код в C++ программу)

    Как раз наоборот.


     
     
  • 5.90, vasya (??), 08:13, 25/03/2011 [^] [ответить]    [к модератору]  
  • +/
    >>>extern "C"
    >> Мимо. Это помогает в обратной ситуации (прикрутить Си-шный код в C++ программу)
    > Как раз наоборот.

    Точнее, в обе стороны работает.

     
  • 5.93, anonymous (??), 11:48, 25/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    >>>extern "C"
    >> Мимо. Это помогает в обратной ситуации (прикрутить Си-шный код в C++ программу)
    > Как раз наоборот.

    а вот здесь мы видим случай так называемого ламеризма.

     
     ....нить скрыта, показать (33)

  • 1.13, Григорий (??), 14:16, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    На чём умеют, на том и пишут.
     
  • 1.17, Аноним (-), 14:27, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Было бы не плохо использовать как метод сжатия файловых систем (вместо zlib у btrfs) - я думаю скорость работы существенно возрастет. Хотя могу ошибаться.
     
     
  • 2.21, arcade (ok), 14:32, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Тада. Где-то выхватывал сравнительную таблицу для zlib и lzo, lzo рулил за счёт быстрой распаковки и быстрого определения несжимаемых данных.

    Хачу в zfs.

     
  • 2.25, User294 (ok), 14:39, 23/03/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    1 Там уже поюзали LZO Он довольно резвый Не чемпион, но весьма даже шпарит, о... весь текст скрыт [показать]
     
     
  • 3.34, Анон (?), 16:24, 23/03/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    Чем Вас не устраивает С++?
    Проект был открыт и за это спасибо. А если у некоторых бакланов не получается его пристроить в ядро, то это исключительно их проблемы.
     
     
  • 4.38, User294 (ok), 16:59, 23/03/2011 [^] [ответить]     [к модератору]  
  • +5 +/
    Тем что в ядрах и эмбеддовке он пролетает, разумеется При том что скорость там ... весь текст скрыт [показать]
     
     
  • 5.46, stom (?), 18:10, 23/03/2011 [^] [ответить]     [к модератору]  
  • –7 +/
    gt оверквотинг удален ты в код смотрел связь между языком программирования в... весь текст скрыт [показать]
     
     
  • 6.68, mine (ok), 10:40, 24/03/2011 [^] [ответить]     [к модератору]  
  • –6 +/
    Плюсам не место в эмбеддед и ядре Хочешь фактов вот тебе пара С не умеет сер... весь текст скрыт [показать]
     
     
  • 7.81, anonymous (??), 17:42, 24/03/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    ахаха аццкий отжиг хождение по классам для поиска функций вот такие люди ка... весь текст скрыт [показать]
     
  • 7.95, arcade (ok), 14:04, 09/04/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Когда-то на заре интернета у меня появилась звуковуха со встроенным FM-ресивером... весь текст скрыт [показать]
     
     ....нить скрыта, показать (8)

  • 1.18, Аноним (-), 14:28, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А вот интересно, если zlib или чтото аналогичное на аппаратном уровне в проце реализовать, ну там типа SSE6, то оно ведь и быстрее и сильнее получится, чеб нет ?
     
     
  • 2.33, pavlinux (ok), 15:39, 23/03/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    http mxt sourceforge net ... весь текст скрыт [показать]
     
  • 1.20, User294 (ok), 14:31, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    А оно у них точно лучше чем quicklz? А то на http://quicklz.com/bench.html скорости указаны весьма некислые - и 300 и 500 мб/сек на core i7 есть. Ладно, при случае сравним. Хотя писать такой проект на си++ имхо долбоклюйство. А чего там си++ требует? У них там такие офигенные алгоритмы? Зато во всякие кернелы и половину эмбеддовки оно такое гарантированно не попадет. Я еще понимаю когда на си++ пишут реально мощный компрессор с рекордным сжатием, но либу ориентированную на скорость иожно было бы и на сях родить.
     
     
  • 2.24, Аноним (-), 14:38, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Да уж, если http://quicklz.com/bench.html реально, то значительного опережения никак не получается. Очередной гуглопиар ?
     
     
  • 3.27, Аноним (-), 14:57, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Пиар не пиар а quicklz как минимум не гугла, да и лицензии Apache vs GPL, не в курсе, разница есть ?
     
  • 2.35, Анон (?), 16:30, 23/03/2011 [^] [ответить]     [к модератору]  
  • +3 +/
    Что ты все время недоволен Множество хороших проектов написано вообще на всяких... весь текст скрыт [показать]
     
     
  • 3.39, User294 (ok), 17:13, 23/03/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Понятия о прекрасном у всех разные Я не виноват что там быстрые и эффективные а... весь текст скрыт [показать]
     
  • 3.49, anonymous (??), 18:45, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    > Множество хороших проектов написано вообще на всяких питонах и жабах.

    например? нет, эклипс — это не «хороший проект». бинс тоже.

     
  • 2.40, Crazy Alex (??), 17:51, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Гугл не пишет на C. Вообще. А писано оно "под себя". Теперь вот открыли просто.
     
  • 1.31, JL2001 (ok), 15:31, 23/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    \\оффтопик
    а когда в линуксе при установке новой/ещё одной библиотеки реализующей сжатие/разжатие бтрфс сразу сможет использовать этот алгоритм ? а ещё бекапер, karc и браузер...

    есть вобще такие оси ? и чтоб живые оси ?

     
     
  • 2.41, Crazy Alex (??), 17:52, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    Нету. Черт побери. Мне вот тоже интересно, когда что-нибудь появится с нормальным компонентным подходом.
     
  • 2.43, Andrey Mitrofanov (?), 18:01, 23/03/2011 [^] [ответить]    [к модератору]  
  • +/
    > \\оффтопик
    > а когда в линуксе при установке новой/ещё одной

    Да! Почему установленный Info-ZIP после установки unrar из non-free **сразу** не научился rar-архивам?! Сволочи же!!?

     
  • 1.66, gildor (?), 00:15, 24/03/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    В readme к библиотеке сказано, что код оптимизирован для 64-битных систем с x86 архитектурой. Для других систем он вряд ли даст выигрыш в сравнении с тем же LZO. Судя по описанию, он использует чтение 64-битных величин по произвольному адресу - на ARM такое уже не прокатит (там игнорируются младшие биты адреса), компилятор может это и исправит - будет читать 8 байт и складывать в одну переменную (или в две - для 32-битов). Это уже значительное замедление. Если взять процессор по типу XBox-ового, там та же проблема, процессор даже генерит исключение при попытке читать слово по невыровненному адресу. В общем, похоже что этот код имеет плюсы только для одной платформы.
     
     
  • 2.96, annulen (ok), 18:54, 22/11/2013 [^] [ответить]    [к модератору]  
  • +/
    >Если взять процессор по типу XBox-ового, там та же проблема, процессор даже генерит исключение при попытке читать слово по невыровненному адресу

    Если речь идет о Xbox 360, то у PPC невыровненный доступ к памяти не только возможен, но и оптимизирован (в отличие от большинства RISC-архитектур, на которых эта операция запрещена или работает медленно)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor