home.social

#lz4 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #lz4, aggregated by home.social.

  1. Как не получилось сделать PostgreSQL лучше (и почему это нормально)

    Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.

    habr.com/ru/companies/yandex/a

    #postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz

  2. Как не получилось сделать PostgreSQL лучше (и почему это нормально)

    Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.

    habr.com/ru/companies/yandex/a

    #postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz

  3. Как не получилось сделать PostgreSQL лучше (и почему это нормально)

    Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.

    habr.com/ru/companies/yandex/a

    #postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz

  4. Как не получилось сделать PostgreSQL лучше (и почему это нормально)

    Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.

    habr.com/ru/companies/yandex/a

    #postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz

  5. Введение в zram и сжатие памяти

    zram — это механизм ядра Linux, создающий сжатый блок памяти в RAM, используемый как пространство подкачки (swap). Это позволяет эффективнее использовать оперативную память, особенно на системах с ограниченным объемом ОЗУ. Вместо записи данных на медленный диск, zram сжимает их и хранит в RAM, обеспечивая значительно более высокую скорость доступа.

    Выбор алгоритма сжатия — ключевой момент при настройке zram. Наиболее популярные варианты — LZ4, Zstd и LZO. Каждый из них предлагает разный баланс между скоростью сжатия/распаковки и степенью сжатия.

    Сравнение LZ4 и Zstd

    Хотя ваш вопрос предполагает, что LZ4 предпочтительнее Zstd, на практике это не всегда так. Предпочтение зависит от конкретных целей:

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

    Zstd (Zstandard), разработанный Facebook, предлагает лучшее сжатие при сохранении высокой скорости. Он может достигать степени сжатия, близкой к gzip, но со скоростью, сравнимой с LZ4.

    Таким образом, Zstd часто считается более сбалансированным выбором, а не менее предпочтительным.

    Производительность: скорость vs степень сжатия

    По скорости: LZ4 быстрее Zstd. В сценариях, где CPU является узким местом, или при очень высокой частоте обращений к swap, LZ4 может предотвратить лаги и задержки. Один из пользователей на Reddit отметил, что при тяжелых нагрузках (например, эмуляция игр) Zstd вызывал заметные лаги, которых не было с LZ4 при стандартных настройках.

    По степени сжатия: Zstd превосходит LZ4. Это означает, что с Zstd можно сэкономить больше RAM, что особенно важно на системах с малым объемом памяти (например, 4–8 ГБ).

    Сценарии использования и рекомендации

    Используйте LZ4, если:

    1. У вас ограниченная мощность CPU.

    2. Вы хотите минимизировать задержки при активной подкачке.

    3. Система работает в реальном времени или чувствительна к лагам (например, игры, аудио-обработка).

    Используйте Zstd, если:

    1. У вас мало RAM, и вы хотите максимально эффективно её использовать.

    2. Процессор достаточно мощный (современные CPU хорошо справляются с Zstd).

    3. Вы готовы настроить систему (например, использовать оптимизированные параметры ядра).

    Как отмечается в одном из обсуждений, Zstd — это "золотая середина" между скоростью и сжатием, что делает его предпочтительным по умолчанию для многих пользователей.

    Заключение

    Неверно утверждать, что LZ4 предпочтительнее Zstd в zram. Наоборот, Zstd часто рекомендуется как более сбалансированный и современный алгоритм. Хотя LZ4 быстрее, Zstd обеспечивает значительно лучшее сжатие при сохранении высокой скорости. При правильной настройке системы (например, с ядром 6.7+ и оптимизированными параметрами) Zstd может превзойти LZ4 по общей производительности.

    Вывод: Zstd — отличный выбор для большинства пользователей, особенно на системах с малым объемом RAM. Однако LZ4 остаётся предпочтительным при высокой нагрузке и слабом CPU.

    #zram #zramen #Linux #LZ4 #zstd

  6. Введение в zram и сжатие памяти

    zram — это механизм ядра Linux, создающий сжатый блок памяти в RAM, используемый как пространство подкачки (swap). Это позволяет эффективнее использовать оперативную память, особенно на системах с ограниченным объемом ОЗУ. Вместо записи данных на медленный диск, zram сжимает их и хранит в RAM, обеспечивая значительно более высокую скорость доступа.

    Выбор алгоритма сжатия — ключевой момент при настройке zram. Наиболее популярные варианты — LZ4, Zstd и LZO. Каждый из них предлагает разный баланс между скоростью сжатия/распаковки и степенью сжатия.

    Сравнение LZ4 и Zstd

    Хотя ваш вопрос предполагает, что LZ4 предпочтительнее Zstd, на практике это не всегда так. Предпочтение зависит от конкретных целей:

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

    Zstd (Zstandard), разработанный Facebook, предлагает лучшее сжатие при сохранении высокой скорости. Он может достигать степени сжатия, близкой к gzip, но со скоростью, сравнимой с LZ4.

    Таким образом, Zstd часто считается более сбалансированным выбором, а не менее предпочтительным.

    Производительность: скорость vs степень сжатия

    По скорости: LZ4 быстрее Zstd. В сценариях, где CPU является узким местом, или при очень высокой частоте обращений к swap, LZ4 может предотвратить лаги и задержки. Один из пользователей на Reddit отметил, что при тяжелых нагрузках (например, эмуляция игр) Zstd вызывал заметные лаги, которых не было с LZ4 при стандартных настройках.

    По степени сжатия: Zstd превосходит LZ4. Это означает, что с Zstd можно сэкономить больше RAM, что особенно важно на системах с малым объемом памяти (например, 4–8 ГБ).

    Сценарии использования и рекомендации

    Используйте LZ4, если:

    1. У вас ограниченная мощность CPU.

    2. Вы хотите минимизировать задержки при активной подкачке.

    3. Система работает в реальном времени или чувствительна к лагам (например, игры, аудио-обработка).

    Используйте Zstd, если:

    1. У вас мало RAM, и вы хотите максимально эффективно её использовать.

    2. Процессор достаточно мощный (современные CPU хорошо справляются с Zstd).

    3. Вы готовы настроить систему (например, использовать оптимизированные параметры ядра).

    Как отмечается в одном из обсуждений, Zstd — это "золотая середина" между скоростью и сжатием, что делает его предпочтительным по умолчанию для многих пользователей.

    Заключение

    Неверно утверждать, что LZ4 предпочтительнее Zstd в zram. Наоборот, Zstd часто рекомендуется как более сбалансированный и современный алгоритм. Хотя LZ4 быстрее, Zstd обеспечивает значительно лучшее сжатие при сохранении высокой скорости. При правильной настройке системы (например, с ядром 6.7+ и оптимизированными параметрами) Zstd может превзойти LZ4 по общей производительности.

    Вывод: Zstd — отличный выбор для большинства пользователей, особенно на системах с малым объемом RAM. Однако LZ4 остаётся предпочтительным при высокой нагрузке и слабом CPU.

    #zram #zramen #Linux #LZ4 #zstd

  7. Введение в zram и сжатие памяти

    zram — это механизм ядра Linux, создающий сжатый блок памяти в RAM, используемый как пространство подкачки (swap). Это позволяет эффективнее использовать оперативную память, особенно на системах с ограниченным объемом ОЗУ. Вместо записи данных на медленный диск, zram сжимает их и хранит в RAM, обеспечивая значительно более высокую скорость доступа.

    Выбор алгоритма сжатия — ключевой момент при настройке zram. Наиболее популярные варианты — LZ4, Zstd и LZO. Каждый из них предлагает разный баланс между скоростью сжатия/распаковки и степенью сжатия.

    Сравнение LZ4 и Zstd

    Хотя ваш вопрос предполагает, что LZ4 предпочтительнее Zstd, на практике это не всегда так. Предпочтение зависит от конкретных целей:

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

    Zstd (Zstandard), разработанный Facebook, предлагает лучшее сжатие при сохранении высокой скорости. Он может достигать степени сжатия, близкой к gzip, но со скоростью, сравнимой с LZ4.

    Таким образом, Zstd часто считается более сбалансированным выбором, а не менее предпочтительным.

    Производительность: скорость vs степень сжатия

    По скорости: LZ4 быстрее Zstd. В сценариях, где CPU является узким местом, или при очень высокой частоте обращений к swap, LZ4 может предотвратить лаги и задержки. Один из пользователей на Reddit отметил, что при тяжелых нагрузках (например, эмуляция игр) Zstd вызывал заметные лаги, которых не было с LZ4 при стандартных настройках.

    По степени сжатия: Zstd превосходит LZ4. Это означает, что с Zstd можно сэкономить больше RAM, что особенно важно на системах с малым объемом памяти (например, 4–8 ГБ).

    Сценарии использования и рекомендации

    Используйте LZ4, если:

    1. У вас ограниченная мощность CPU.

    2. Вы хотите минимизировать задержки при активной подкачке.

    3. Система работает в реальном времени или чувствительна к лагам (например, игры, аудио-обработка).

    Используйте Zstd, если:

    1. У вас мало RAM, и вы хотите максимально эффективно её использовать.

    2. Процессор достаточно мощный (современные CPU хорошо справляются с Zstd).

    3. Вы готовы настроить систему (например, использовать оптимизированные параметры ядра).

    Как отмечается в одном из обсуждений, Zstd — это "золотая середина" между скоростью и сжатием, что делает его предпочтительным по умолчанию для многих пользователей.

    Заключение

    Неверно утверждать, что LZ4 предпочтительнее Zstd в zram. Наоборот, Zstd часто рекомендуется как более сбалансированный и современный алгоритм. Хотя LZ4 быстрее, Zstd обеспечивает значительно лучшее сжатие при сохранении высокой скорости. При правильной настройке системы (например, с ядром 6.7+ и оптимизированными параметрами) Zstd может превзойти LZ4 по общей производительности.

    Вывод: Zstd — отличный выбор для большинства пользователей, особенно на системах с малым объемом RAM. Однако LZ4 остаётся предпочтительным при высокой нагрузке и слабом CPU.

    #zram #zramen #Linux #LZ4 #zstd

  8. Введение в zram и сжатие памяти

    zram — это механизм ядра Linux, создающий сжатый блок памяти в RAM, используемый как пространство подкачки (swap). Это позволяет эффективнее использовать оперативную память, особенно на системах с ограниченным объемом ОЗУ. Вместо записи данных на медленный диск, zram сжимает их и хранит в RAM, обеспечивая значительно более высокую скорость доступа.

    Выбор алгоритма сжатия — ключевой момент при настройке zram. Наиболее популярные варианты — LZ4, Zstd и LZO. Каждый из них предлагает разный баланс между скоростью сжатия/распаковки и степенью сжатия.

    Сравнение LZ4 и Zstd

    Хотя ваш вопрос предполагает, что LZ4 предпочтительнее Zstd, на практике это не всегда так. Предпочтение зависит от конкретных целей:

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

    Zstd (Zstandard), разработанный Facebook, предлагает лучшее сжатие при сохранении высокой скорости. Он может достигать степени сжатия, близкой к gzip, но со скоростью, сравнимой с LZ4.

    Таким образом, Zstd часто считается более сбалансированным выбором, а не менее предпочтительным.

    Производительность: скорость vs степень сжатия

    По скорости: LZ4 быстрее Zstd. В сценариях, где CPU является узким местом, или при очень высокой частоте обращений к swap, LZ4 может предотвратить лаги и задержки. Один из пользователей на Reddit отметил, что при тяжелых нагрузках (например, эмуляция игр) Zstd вызывал заметные лаги, которых не было с LZ4 при стандартных настройках.

    По степени сжатия: Zstd превосходит LZ4. Это означает, что с Zstd можно сэкономить больше RAM, что особенно важно на системах с малым объемом памяти (например, 4–8 ГБ).

    Сценарии использования и рекомендации

    Используйте LZ4, если:

    1. У вас ограниченная мощность CPU.

    2. Вы хотите минимизировать задержки при активной подкачке.

    3. Система работает в реальном времени или чувствительна к лагам (например, игры, аудио-обработка).

    Используйте Zstd, если:

    1. У вас мало RAM, и вы хотите максимально эффективно её использовать.

    2. Процессор достаточно мощный (современные CPU хорошо справляются с Zstd).

    3. Вы готовы настроить систему (например, использовать оптимизированные параметры ядра).

    Как отмечается в одном из обсуждений, Zstd — это "золотая середина" между скоростью и сжатием, что делает его предпочтительным по умолчанию для многих пользователей.

    Заключение

    Неверно утверждать, что LZ4 предпочтительнее Zstd в zram. Наоборот, Zstd часто рекомендуется как более сбалансированный и современный алгоритм. Хотя LZ4 быстрее, Zstd обеспечивает значительно лучшее сжатие при сохранении высокой скорости. При правильной настройке системы (например, с ядром 6.7+ и оптимизированными параметрами) Zstd может превзойти LZ4 по общей производительности.

    Вывод: Zstd — отличный выбор для большинства пользователей, особенно на системах с малым объемом RAM. Однако LZ4 остаётся предпочтительным при высокой нагрузке и слабом CPU.

    #zram #zramen #Linux #LZ4 #zstd

  9. Введение в zram и сжатие памяти

    zram — это механизм ядра Linux, создающий сжатый блок памяти в RAM, используемый как пространство подкачки (swap). Это позволяет эффективнее использовать оперативную память, особенно на системах с ограниченным объемом ОЗУ. Вместо записи данных на медленный диск, zram сжимает их и хранит в RAM, обеспечивая значительно более высокую скорость доступа.

    Выбор алгоритма сжатия — ключевой момент при настройке zram. Наиболее популярные варианты — LZ4, Zstd и LZO. Каждый из них предлагает разный баланс между скоростью сжатия/распаковки и степенью сжатия.

    Сравнение LZ4 и Zstd

    Хотя ваш вопрос предполагает, что LZ4 предпочтительнее Zstd, на практике это не всегда так. Предпочтение зависит от конкретных целей:

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

    Zstd (Zstandard), разработанный Facebook, предлагает лучшее сжатие при сохранении высокой скорости. Он может достигать степени сжатия, близкой к gzip, но со скоростью, сравнимой с LZ4.

    Таким образом, Zstd часто считается более сбалансированным выбором, а не менее предпочтительным.

    Производительность: скорость vs степень сжатия

    По скорости: LZ4 быстрее Zstd. В сценариях, где CPU является узким местом, или при очень высокой частоте обращений к swap, LZ4 может предотвратить лаги и задержки. Один из пользователей на Reddit отметил, что при тяжелых нагрузках (например, эмуляция игр) Zstd вызывал заметные лаги, которых не было с LZ4 при стандартных настройках.

    По степени сжатия: Zstd превосходит LZ4. Это означает, что с Zstd можно сэкономить больше RAM, что особенно важно на системах с малым объемом памяти (например, 4–8 ГБ).

    Сценарии использования и рекомендации

    Используйте LZ4, если:

    1. У вас ограниченная мощность CPU.

    2. Вы хотите минимизировать задержки при активной подкачке.

    3. Система работает в реальном времени или чувствительна к лагам (например, игры, аудио-обработка).

    Используйте Zstd, если:

    1. У вас мало RAM, и вы хотите максимально эффективно её использовать.

    2. Процессор достаточно мощный (современные CPU хорошо справляются с Zstd).

    3. Вы готовы настроить систему (например, использовать оптимизированные параметры ядра).

    Как отмечается в одном из обсуждений, Zstd — это "золотая середина" между скоростью и сжатием, что делает его предпочтительным по умолчанию для многих пользователей.

    Заключение

    Неверно утверждать, что LZ4 предпочтительнее Zstd в zram. Наоборот, Zstd часто рекомендуется как более сбалансированный и современный алгоритм. Хотя LZ4 быстрее, Zstd обеспечивает значительно лучшее сжатие при сохранении высокой скорости. При правильной настройке системы (например, с ядром 6.7+ и оптимизированными параметрами) Zstd может превзойти LZ4 по общей производительности.

    Вывод: Zstd — отличный выбор для большинства пользователей, особенно на системах с малым объемом RAM. Однако LZ4 остаётся предпочтительным при высокой нагрузке и слабом CPU.

    #zram #zramen #Linux #LZ4 #zstd

  10. Сжатие графики при помощи алгоритма LZ4

    Привет, Хабр! Меня зовут Александр Крестинин, я разработчик встроенного ПО в компании Whoosh. Мы в embedded-команде не только переливаем биты из одного регистра в другой, но и решаем разные бизнес-задачи. Иногда попадаются головоломки. Однажды мы подумали, что было бы здорово выводить на экраны самокатов анимации и изображения — показывать инструкции, как пользоваться сервисом, как начать и закончить поездку, и чтобы запускать DOOM. Зачем? 1) Сделать комфортнее. Удобно видеть инструкции на большом и ярком экране перед глазами, а не нырять за ними в приложение на смартфоне. 2) Сделать безопаснее. Пользователь меньше отвлекается на телефон, крепче держится за самокат и внимательнее смотрит на всё, что вокруг. 3) Почти у всех привычных устройств уже есть экраны, которые выводят пользователям видео и картинки, а почему бы не сделать то же самое на самокате? Но тут возникает проблема. Микроконтроллер крайне ограничен в памяти и вычислительных ресурсах. Самая простая анимация занимает чрезмерно много места. А если внедрить в отрисовку алгоритмы сжатия, то вычислительная нагрузка увеличится и анимация будет сильно лагать. Расскажу, как мы нашли решение этой задачи. Прошу под кат.

    habr.com/ru/companies/whoosh/a

    #микроконтроллеры #микроконтроллер #whoosh #lz4 #графика #изображения #анимации #сжатие_изображений #сжатие_данных #дисплей

  11. Сжатие графики при помощи алгоритма LZ4

    Привет, Хабр! Меня зовут Александр Крестинин, я разработчик встроенного ПО в компании Whoosh. Мы в embedded-команде не только переливаем биты из одного регистра в другой, но и решаем разные бизнес-задачи. Иногда попадаются головоломки. Однажды мы подумали, что было бы здорово выводить на экраны самокатов анимации и изображения — показывать инструкции, как пользоваться сервисом, как начать и закончить поездку, и чтобы запускать DOOM. Зачем? 1) Сделать комфортнее. Удобно видеть инструкции на большом и ярком экране перед глазами, а не нырять за ними в приложение на смартфоне. 2) Сделать безопаснее. Пользователь меньше отвлекается на телефон, крепче держится за самокат и внимательнее смотрит на всё, что вокруг. 3) Почти у всех привычных устройств уже есть экраны, которые выводят пользователям видео и картинки, а почему бы не сделать то же самое на самокате? Но тут возникает проблема. Микроконтроллер крайне ограничен в памяти и вычислительных ресурсах. Самая простая анимация занимает чрезмерно много места. А если внедрить в отрисовку алгоритмы сжатия, то вычислительная нагрузка увеличится и анимация будет сильно лагать. Расскажу, как мы нашли решение этой задачи. Прошу под кат.

    habr.com/ru/companies/whoosh/a

    #микроконтроллеры #микроконтроллер #whoosh #lz4 #графика #изображения #анимации #сжатие_изображений #сжатие_данных #дисплей

  12. Сжатие графики при помощи алгоритма LZ4

    Привет, Хабр! Меня зовут Александр Крестинин, я разработчик встроенного ПО в компании Whoosh. Мы в embedded-команде не только переливаем биты из одного регистра в другой, но и решаем разные бизнес-задачи. Иногда попадаются головоломки. Однажды мы подумали, что было бы здорово выводить на экраны самокатов анимации и изображения — показывать инструкции, как пользоваться сервисом, как начать и закончить поездку, и чтобы запускать DOOM. Зачем? 1) Сделать комфортнее. Удобно видеть инструкции на большом и ярком экране перед глазами, а не нырять за ними в приложение на смартфоне. 2) Сделать безопаснее. Пользователь меньше отвлекается на телефон, крепче держится за самокат и внимательнее смотрит на всё, что вокруг. 3) Почти у всех привычных устройств уже есть экраны, которые выводят пользователям видео и картинки, а почему бы не сделать то же самое на самокате? Но тут возникает проблема. Микроконтроллер крайне ограничен в памяти и вычислительных ресурсах. Самая простая анимация занимает чрезмерно много места. А если внедрить в отрисовку алгоритмы сжатия, то вычислительная нагрузка увеличится и анимация будет сильно лагать. Расскажу, как мы нашли решение этой задачи. Прошу под кат.

    habr.com/ru/companies/whoosh/a

    #микроконтроллеры #микроконтроллер #whoosh #lz4 #графика #изображения #анимации #сжатие_изображений #сжатие_данных #дисплей

  13. Сжатие графики при помощи алгоритма LZ4

    Привет, Хабр! Меня зовут Александр Крестинин, я разработчик встроенного ПО в компании Whoosh. Мы в embedded-команде не только переливаем биты из одного регистра в другой, но и решаем разные бизнес-задачи. Иногда попадаются головоломки. Однажды мы подумали, что было бы здорово выводить на экраны самокатов анимации и изображения — показывать инструкции, как пользоваться сервисом, как начать и закончить поездку, и чтобы запускать DOOM. Зачем? 1) Сделать комфортнее. Удобно видеть инструкции на большом и ярком экране перед глазами, а не нырять за ними в приложение на смартфоне. 2) Сделать безопаснее. Пользователь меньше отвлекается на телефон, крепче держится за самокат и внимательнее смотрит на всё, что вокруг. 3) Почти у всех привычных устройств уже есть экраны, которые выводят пользователям видео и картинки, а почему бы не сделать то же самое на самокате? Но тут возникает проблема. Микроконтроллер крайне ограничен в памяти и вычислительных ресурсах. Самая простая анимация занимает чрезмерно много места. А если внедрить в отрисовку алгоритмы сжатия, то вычислительная нагрузка увеличится и анимация будет сильно лагать. Расскажу, как мы нашли решение этой задачи. Прошу под кат.

    habr.com/ru/companies/whoosh/a

    #микроконтроллеры #микроконтроллер #whoosh #lz4 #графика #изображения #анимации #сжатие_изображений #сжатие_данных #дисплей

  14. Today I had a quick look at compression speed of the various compression algorithms in #UnrealEngine.

    In my use case, speed is more important than compression ratio, so I had COMPRESS_BiasSpeed set.

    To little surprise, #gzip and #zlib took about the same time, and #lz4 was a lot slower.

    The big surprise was #Oodle, which was faster than all others. By a lot.

    So, if you are compressing data in your Unreal game at runtime, you might want to check if Oodle is an option for you.

  15. Today I had a quick look at compression speed of the various compression algorithms in #UnrealEngine.

    In my use case, speed is more important than compression ratio, so I had COMPRESS_BiasSpeed set.

    To little surprise, #gzip and #zlib took about the same time, and #lz4 was a lot slower.

    The big surprise was #Oodle, which was faster than all others. By a lot.

    So, if you are compressing data in your Unreal game at runtime, you might want to check if Oodle is an option for you.

  16. Today I had a quick look at compression speed of the various compression algorithms in #UnrealEngine.

    In my use case, speed is more important than compression ratio, so I had COMPRESS_BiasSpeed set.

    To little surprise, #gzip and #zlib took about the same time, and #lz4 was a lot slower.

    The big surprise was #Oodle, which was faster than all others. By a lot.

    So, if you are compressing data in your Unreal game at runtime, you might want to check if Oodle is an option for you.

  17. Today I had a quick look at compression speed of the various compression algorithms in #UnrealEngine.

    In my use case, speed is more important than compression ratio, so I had COMPRESS_BiasSpeed set.

    To little surprise, #gzip and #zlib took about the same time, and #lz4 was a lot slower.

    The big surprise was #Oodle, which was faster than all others. By a lot.

    So, if you are compressing data in your Unreal game at runtime, you might want to check if Oodle is an option for you.

  18. #LZ4 v1.10 Introduces #MultiThreading Support For Major #Compression Speedups

    LZ4 1.10 has been dubbed the "multi-cores edition" with this version adding multi-threading support to help speed-up compression now that modern I/O storage with NVMe is so much faster there's a real need to make compressing data even faster.
    phoronix.com/news/LZ4-1.10-Mul

  19. #LZ4 v1.10 Introduces #MultiThreading Support For Major #Compression Speedups

    LZ4 1.10 has been dubbed the "multi-cores edition" with this version adding multi-threading support to help speed-up compression now that modern I/O storage with NVMe is so much faster there's a real need to make compressing data even faster.
    phoronix.com/news/LZ4-1.10-Mul

  20. v1.10 Introduces Support For Major Speedups

    LZ4 1.10 has been dubbed the "multi-cores edition" with this version adding multi-threading support to help speed-up compression now that modern I/O storage with NVMe is so much faster there's a real need to make compressing data even faster.
    phoronix.com/news/LZ4-1.10-Mul

  21. #LZ4 v1.10 Introduces #MultiThreading Support For Major #Compression Speedups

    LZ4 1.10 has been dubbed the "multi-cores edition" with this version adding multi-threading support to help speed-up compression now that modern I/O storage with NVMe is so much faster there's a real need to make compressing data even faster.
    phoronix.com/news/LZ4-1.10-Mul

  22. #LZ4 v1.10 Introduces #MultiThreading Support For Major #Compression Speedups

    LZ4 1.10 has been dubbed the "multi-cores edition" with this version adding multi-threading support to help speed-up compression now that modern I/O storage with NVMe is so much faster there's a real need to make compressing data even faster.
    phoronix.com/news/LZ4-1.10-Mul

  23. 「「非常に高速な」圧縮アルゴリズム #LZ4 の最新アップデートが古いバージョンを追い越す 」: The Register

    「LZ4 はLinux の中でも高速な圧縮アルゴリズム の 1 つです が、新しくリリースされた LZ4 バージョン 1.10 は、 それ自体の先行技術の水準を大幅に引き上げています。 一部のハードウェアでは、LZ4 1.10 は、複数の CPU コアを並行して使用することにより、以前のリリースよりも 5 倍以上、最大で 10 倍近く高速にデータを圧縮します。」

    theregister.com/2024/07/30/lz4

    #prattohome #TheRegister

  24. 「「非常に高速な」圧縮アルゴリズム #LZ4 の最新アップデートが古いバージョンを追い越す 」: The Register

    「LZ4 はLinux の中でも高速な圧縮アルゴリズム の 1 つです が、新しくリリースされた LZ4 バージョン 1.10 は、 それ自体の先行技術の水準を大幅に引き上げています。 一部のハードウェアでは、LZ4 1.10 は、複数の CPU コアを並行して使用することにより、以前のリリースよりも 5 倍以上、最大で 10 倍近く高速にデータを圧縮します。」

    theregister.com/2024/07/30/lz4

    #prattohome #TheRegister