[ZXC - 콘텐츠 전송에 최적화된 고성능 비대칭 무손실 압축 라이브러리
ZXC는 콘텐츠 전송과 임베디드 시스템의 읽기 성능 병목을 해결하기 위해 설계된 고성능 비대칭 무손실 압축 라이브러리로, LZ4 대비 디코딩 속도 40% 이상 향상 및 다양한 CPU 아키텍처에서 높은 성능을 보입니다. 5단계 압축 레벨과 API/CLI 지원, Sans-IO 구조, 그리고 엄격한 품질 검증 프로세스를 특징으로 합니다.
[ZXC - 콘텐츠 전송에 최적화된 고성능 비대칭 무손실 압축 라이브러리
ZXC는 콘텐츠 전송과 임베디드 시스템의 읽기 성능 병목을 해결하기 위해 설계된 고성능 비대칭 무손실 압축 라이브러리로, LZ4 대비 디코딩 속도 40% 이상 향상 및 다양한 CPU 아키텍처에서 높은 성능을 보입니다. 5단계 압축 레벨과 API/CLI 지원, Sans-IO 구조, 그리고 엄격한 품질 검증 프로세스를 특징으로 합니다.
They said "just download more RAM" was a meme. I took it personally. 👻💾
Introducing GhostMem: A user-space C++ library that transparently intercepts virtual memory accesses. It traps page faults and compresses cold data on-the-fly using LZ4.
No kernel modules. No admin rights. Just more RAM.
https://github.com/el-dockerr/ghostmem
#cpp #lowlevel #performance #systemsengineering #lz4 #linux #windowsdev
GhostMem is a smart memory management system that extends available RAM through **in-memory compression** rather than traditional disk-based swapping. - el-dockerr/ghostmem
Analisi Tecnica di Matteo: Skidata
Skidata LZ4: Errore V65 Sensore Laser - Diagnosi e Soluzione
🔍 Rapporto Completo: https://www.soscassa.org/skidata/lz4/skidata-lz4-errore-v65-sensore-laser
NRO, SpaceX launch reconnaissance satellites from Vandenberg
Live coverage: SpaceX to launch 1st ‘Twilight’ rideshare mission
Как не получилось сделать PostgreSQL лучше (и почему это нормально)
Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.
#postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz
Как не получилось сделать PostgreSQL лучше (и почему это нормально)
Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.
https://habr.com/ru/companies/yandex/articles/964778/
#postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz
Введение в 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, если:
У вас ограниченная мощность CPU.
Вы хотите минимизировать задержки при активной подкачке.
Система работает в реальном времени или чувствительна к лагам (например, игры, аудио-обработка).
Используйте Zstd, если:
У вас мало RAM, и вы хотите максимально эффективно её использовать.
Процессор достаточно мощный (современные CPU хорошо справляются с Zstd).
Вы готовы настроить систему (например, использовать оптимизированные параметры ядра).
Как отмечается в одном из обсуждений, Zstd — это "золотая середина" между скоростью и сжатием, что делает его предпочтительным по умолчанию для многих пользователей.
Заключение
Неверно утверждать, что LZ4 предпочтительнее Zstd в zram. Наоборот, Zstd часто рекомендуется как более сбалансированный и современный алгоритм. Хотя LZ4 быстрее, Zstd обеспечивает значительно лучшее сжатие при сохранении высокой скорости. При правильной настройке системы (например, с ядром 6.7+ и оптимизированными параметрами) Zstd может превзойти LZ4 по общей производительности.
Вывод: Zstd — отличный выбор для большинства пользователей, особенно на системах с малым объемом RAM. Однако LZ4 остаётся предпочтительным при высокой нагрузке и слабом CPU.
New #blog post: Unix Data Compression Shootout
https://rldane.space/unix-data-compression-shootout.html
881 words
cc: my wonderful #chorus: @joel @dm @sotolf @thedoctor @pixx @twizzay @orbitalmartian @adamsdesk @krafter @roguefoam @clayton @giantspacesquid
(I will happily add/remove you from the chorus upon request! :)
#rlDaneWriting #Unix #Linux #BSD #DataCompression #gzip #bzip #bzip2 #bzip3 #zstd #zst #xz #lz4 #compression