ARTEMIS участвует в RoboCup 2024
Финал RoboCup этого года прошел в прошлом месяце в Эйндховене, где команда Tech United укрепила свое господство в Лиге средних размеров, став чемпионами мира в 8-й раз.
Выпущена последняя версия алгоритма сжатия LZ с поддержкой многопоточности, что позволяет значительно увеличить скорость сжатия - до восьми раз.
Сжатие LZ - это алгоритм, основанный на сжатии словаря LZ. Он используется для сжатия многих популярных форматов файлов, применяется в GIF, Deflate, Zip, PNG. Он был достаточно важен, чтобы быть названным IEEE Milestone.
LZ-сжатие - один из классов методов словарного сжатия, изобретенных в 1978 году Абрахамом Лемпелем и Джейкобом Зивом. Словарные методы сжатия работают без потерь и заключаются в создании словаря коротких последовательностей, которые затем можно использовать для кодирования файла, удаляя дубликаты последовательностей и заменяя их обращением к словарю. Алгоритм LZW также является частью утилиты сжатия файлов UNIX.
Новая версия LZ4, 1.10, была значительно улучшена благодаря добавлению поддержки многопоточности для использования многоядерных процессоров. Это ускоряет процесс сжатия и улучшает использование LZ4 для высокопроизводительных задач.
Хотя LZ4 исторически славится своей высокой скоростью сжатия, потребность в еще более высокой пропускной способности возросла, особенно с появлением технологий хранения данных nvme (nonvolatile memory express), обеспечивающих пропускную способность в несколько Гб/с.
Разработчики представили следующую эталонную таблицу повышения производительности при сжатии:
Они отмечают, что многопоточность менее важна для декомпрессии, поскольку современные диски nvme все еще могут быть насыщены одним потоком декомпрессии. Однако новая версия все равно повышает производительность за счет перекрытия операций ввода-вывода с процессами распаковки.
При тестировании на платформе x64 Linux распаковка текстового файла размером 5 ГБ локально занимает 5 секунд в версии 1.9.4; в версии 1.10.0 это время сократилось до 3 секунд, что соответствует > +60 % прироста производительности.
Наряду с поддержкой многопоточности, в новом выпуске добавлена полная поддержка сжатия и распаковки словарей. В предыдущем выпуске она была экспериментальной. По словам разработчиков, полная поддержка означает, что разработчики могут использовать сжатие словаря в приложениях, которые в этом нуждаются, например, для небольших данных, где инициализация словаря может стать узким местом. Состояние словаря может использоваться несколькими потоками одновременно.
В этом выпуске также добавлена новая средняя степень сжатия Level 2, которая заполняет существенный разрыв между стандартным "Fast Level 1" и более интенсивным "High Compression Level 3". Разработчики утверждают, что это сбалансированный вариант, оптимизирующий производительность и сжатие, поэтому он идеально подходит для приложений, требующих лучшего сжатия, чем уровень 1, без компромиссов в скорости, связанных с высоким уровнем сжатия 3.
LZ4 1.10 уже доступен на GitHub.
Финал RoboCup этого года прошел в прошлом месяце в Эйндховене, где команда Tech United укрепила свое господство в Лиге средних размеров, став чемпионами мира в 8-й раз.
Чиповый гигант также объявил о партнерстве с компанией Hugging Face в области разработки выводов как услуги.
В небе полно беспилотников, как избежать их столкновений?
Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!
Только свежие новости программирования и технологий каждый день.
Комментарии