home.social

#zstd — Public Fediverse posts

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

fetched live
  1. [Перевод] Как Cloudflare отодвинул закупку железа на 8 месяцев: сэмплирование, агрегации и zstd в конвейере данных

    Команда Data в Cloudflare рассказывает, как держит под контролем конвейер данных, через который идёт около двух миллиардов событий в секунду, пока трафик растёт экспоненциально, а железо линейно. Пять шагов за пять лет: разбор монолитной схемы (−35–40% трафика), замена LZ4 на zstd (−40% сжатого трафика), поздняя репликация вместо двойной записи (−36 ГБ/с), двойное сэмплирование (−25 ГБ/с, 2 ПБ в сутки) и агрегации по всему конвейеру (−80% на HTTP-наборе). С графиками и цифрами по каждому шагу. Читать дальше →

    habr.com/ru/articles/1094000/

    #аналитика #сжатие_данных #сэмплирование #cloudflare #lz4 #clickhouse #zstd #конвейер_данных

  2. The latest #LLVM release's zstd archive was using such a large context window I had to pass `-I "zstd --long=30"` to 'tar' to decompress it.

    Don't remember that happening before. I wouldn't think the #zstd default changed, so this seems like a weird change to apply to the backend between .0 and .3 (setting windowLog=30)

  3. Átdolgozzák a kernelbe ágyazott LZ4-et, hogy az upstream kódot könnyen lehessen hozni — gyorsabb és tisztább lesz. Tudod, hogy ez 11–21% sebességnövekedést jelenthet? Van tapasztalatod LZ4 használatában?

    linuxmint.hu/hir/2026/09/ujras

    #LinuxKernel #LZ4 #compression #EROFS #performance #Samsung #Zstd #kernel

  4. (more Linux news in previous posts)

    PipeWire 1.6.9 Improves Bluetooth, JACK, ALSA Plugin, Pulse Server, and More:
    9to5linux.com/pipewire-1-6-9-i

    Systemd 262-RC3 Lands as a Security-Focused Release Candidate:
    linuxcompatible.org/story/syst

    HP Linux Imaging and Printing (HPLIP) 3.26.6 Drivers Add Support for More Printers:
    9to5linux.com/hp-linux-imaging

    Proposal Raised To Finally Standardize Video Memory Stats Reporting Under Linux:
    phoronix.com/news/Linux-Standa

    Intel NPU Linux Driver Adding Command-Queue Priority ioctl For Linux 7.4:
    phoronix.com/news/Intel-NPU-Li

    GNU Coreutils 9.12 Released With Performance Optimizations, New uname Option:
    phoronix.com/news/GNU-Coreutil

    Rust Coreutils 0.12 Released With Fixes Sought By Ubuntu:
    phoronix.com/news/Rust-Coreuti

    libinput 1.32 Released With Circular Scrolling Support For Circular Touchpads:
    phoronix.com/news/libinput-1.3

    XanMod Kernel 7.2.6 and 6.18.52: Security-Heavy Mainline and LTS Updates Released:
    linuxcompatible.org/story/xanm

    Liquorix Linux Kernel 7.2-11 Releases, Skipping v7.2.5 After Record September Sprint:
    linuxcompatible.org/story/liqu

    Zstd Improvement For Linux 7.4 To Avoid Redundant Initialization:
    phoronix.com/news/Zstd-Linux-7

    Linux 7.3-rc4 To Address Two Unfortunate Bugs With Btrfs:
    phoronix.com/news/Btrfs-Fixes-

    (FOSS news in comments)

    #WeeklyNews #News #Linux #LinuxNews #PipeWire #Systemd #HPLIP #IntelNPU #Coreutils #GNUCoreutils #RustCoreutils #Uutils #libinput #XanMod #Liquorix #LiquorixKernel #Zstd #LinuxKernel #FosseryTech

  5. Optimize Btrfs RAID: combine space_cache=v2 B-tree tracking, discard=async background TRIM, and ZSTD compression to eliminate multi-TB storage bottlenecks. #btrfs #zstd #ValtersIT

    valtersit.com/vault/optimizing

  6. Как найти настоящую (его) гуся или задачу в уже работающем продукте: разбор EVRTCK после возвращения в EvertyDesk

    Меня зовут Артур Валиев (Поможет в трудоустройстве). Я Rust-разработчик. Который пишет про врачей, любовь, смерть и кодеки. Некоторое время назад я отошёл от EvertyDesk, но недавно команда снова позвала меня помочь с несколькими техническими проблемами. (Я обожаю когда меня зовут) разумеется не за просто так. И вот здесь начинается вещь, которая мне кажется куда "интереснее" самого факта возвращения. Когда продукт уже большой и давно живёт своей жизнью, задача редко приходит к тебе в чистом виде. Никто не говорит:

    habr.com/ru/articles/1076032/

    #Rust #EVRTCK #EvertyDesk #zstd #Zstandard #сжатие_данных #оптимизация #профилирование #benchmark #remote_desktop

  7. @royal

    I consider any software written by Meta to be extremely sophisticated and virulent malware, unless it's FOSS and has been studied, like #zstd.

  8. Use-As-Dictionary: как мы перестали отдавать один и тот же бандл по пять раз в день

    У нас в среднем два релиза в день, бандл весит 7,76 МиБ после brotli, и половина клиентов качает его заново по несколько раз в сутки: хеш в имени файла поменялся - значит, кеш мимо. Compression Dictionary Transport (RFC 9842) позволяет объявить вчерашнюю сборку словарём для сегодняшней, и вместо 7,76 МиБ уезжает 15 КБ. Рассказываю, что из этого работает на практике при непрерывной поставке: почему дельты только к предыдущей сборке хватает лишь на 43% визитов, как считать окно словарей по своим логам, как отдавать дельты из nginx без reload на каждый релиз, и что ломается на откатах, канарейках и бампах зависимостей. Все цифры - с нашего портала, методика в конце.

    habr.com/ru/articles/1070382/

    #compression_dictionary_transport #RFC_9842 #brotli #zstd #nginx #дельтасжатие #непрерывная_поставка #оптимизация_загрузки

  9. EVRTCK: тайловый дельта-кодек для удалённого рабочего стола — как мы убили H.264 для UI-контента

    Я Артур Валиев, разработчик EVRT Когда мы форкнули RustDesk и начали строить EvertyDesk — корпоративный удалённый рабочий стол с поддержкой Hyper-V, Proxmox, VirtualBox и умным агентом — первое, во что упёрлись, было видео. H.264 — стандарт де-факто. TeamViewer, AnyDesk, Windows App — все используют H.264. Он работает. Но он lossy. И вот здесь начинается проблема, о которой в статьях про remote desktop обычно не говорят. Когда оператор смотрит на терминал с git diff или читает трейс в VSCode — один размытый пиксель в букве это уже другой символ. H.264 при любом разумном битрейте вносит артефакты в области с резким контрастом. Точно туда, где у нас весь текст. Это неприемлемо. H.264 в lossless режиме ( QP=0 , lossless profile) существует, но поддержка в декодерах — через пень-колоду, а для mostly-static контента предикторы рассчитанные под видео с движением дают нулевой выигрыш над тривиальным delta-кодером. Нам не нужен motion estimation. Нам нужно: вот предыдущий кадр, вот текущий, вот список изменившихся тайлов, сожми только их. Мы написали EVRTCK.

    habr.com/ru/articles/1059238/

    #rust #remote_desktop #кодек #lossless #rayon #zstd #delta_encoding #видеокодек #EvertyDesk #производительность

  10. #zstd ist eindeutig der Chef im Ring. DB-Dump mit 2,7 GB.
    ❯ time xz -T0 -9 -k a.sql
    
    ________________________________________________________
    Executed in  364.44 secs    fish           external
       usr time   17.34 mins    1.80 millis   17.34 mins
       sys time    0.16 mins    1.61 millis    0.16 mins
    
    ❯ time zstd -T0 -19 -k a.sql
    a.sql                : 13.74%   (  2.69 GiB =>    378 MiB, a.sql.zst)
    
    ________________________________________________________
    Executed in  186.74 secs    fish           external
       usr time   27.11 mins    1.79 millis   27.11 mins
       sys time    0.11 mins    1.94 millis    0.11 mins
    
    ❯ time lbzip2 -9 -k a.sql
    
    ________________________________________________________
    Executed in   12.37 secs    fish           external
       usr time  115.07 secs    0.27 millis  115.07 secs
       sys time    0.94 secs    1.47 millis    0.94 secs
    
    ❯ time zip -9 a.sql.zip a.sql
      adding: a.sql (deflated 78%)
    
    ________________________________________________________
    Executed in  120.95 secs    fish           external
       usr time  120.01 secs    1.75 millis  120.01 secs
       sys time    0.77 secs    2.49 millis    0.77 secs
    
    ❯ ls -lhS a.sql*
    -rw-r--r--@ 1 rainer  wheel   2,7G  1 Juli 01:05 a.sql
    -rw-r--r--@ 1 rainer  wheel   596M  1 Juli 12:08 a.sql.zip
    -rw-r--r--@ 1 rainer  wheel   515M  1 Juli 01:05 a.sql.bz2
    -rw-r--r--@ 1 rainer  wheel   378M  1 Juli 01:05 a.sql.zst
    -rw-r--r--@ 1 rainer  wheel   358M  1 Juli 01:05 a.sql.xz
  11. Did you notice? With the new queue-runner we are compressing all nars with zstd 19.

    If all goes well, we'll start publishing `nixexprs.tar.zst` tarballs soon and announce the discontinuation of the `nixexprs.tar.xz` tarball in one year.

    github.com/NixOS/nixpkgs/pull/

    #nixos #zstd

  12. Native compression support in CLI landed in `develop` branch!

    All commands (rec, play, convert, cat, upload) support it.

    Average `.cast.zst` file for a typical session takes about 8% of the uncompressed (plain `.cast` file) version 🎉

    Note: The server doesn't support zstd compressed uploads yet, but will soon!

  13. Тест современных компрессоров для HTTP

    Сжатие текста уже давно стало стандартом в мире веб‑приложений. Сокращение объёма данных даёт сокращение времени передачи и снижение нагрузки на сетевой канал. Однако, часто настройка компрессии сводится к динамическому сжатию gzip и настройкам по умолчанию. В этой статье разберём вопрос сжатия более глубоко. Для начала вспомним основные технологии сжатия, доступные в вебе.

    habr.com/ru/articles/1040692/

    #angie #gzip #brotli #zstd #zstandard

  14. Creating .tar.zst archives on Windows doesn’t require extra software. The native tar command already supports Zstandard (zstd). Simply add the context menu option to get started: github.com/SamiLehtinen... #Windows #Zstandard #Zstd #compression

    GitHub - SamiLehtinen/Compress...

  15. Creating .tar.zst archives on Windows doesn’t require extra software. The native tar command already supports Zstandard (zstd). Simply add the context menu option to get started: https://github.com/SamiLehtinen/CompressTarZstd #Windows #Zstandard #Zstd #compression

  16. Software developer Steven Geisel highlights one of the new features of up and coming .NET 11, which is a ready-to-use implementation of the Zstd compression algorithm (github.com/facebook/Zstd).

    Published by Facebook in 2018 as RFC 8478, Zstd is a high performance, lossless compression algorithm that can produce close to instant results under certain configurations.

    "Zstandard compression in .NET 11"

    steven-giesel.com/blogPost/606

    #dotnet #csharp #zstd #programming #algorithms #compression

  17. Heute kam ich endlich das zu final #http3 und #zstd #compression bei meinem #Wordpress #Blog in Betrieb zu nehmen.

    Bei dem Umstieg von den sury.org Paketen auf die offiziellen #nginx Pakete gab es ein paar Probleme, wodurch ich einige Wochen ohne #http3 auskommen musste.

    Ich hoffe das nun alles stabil läuft. Bisher rennt aber alles und hat #myhomezone noch einen Tick schneller gemacht.

    Wer einmal testen möchte, kann gerne auf meinem #Blog vorbei schauen.

    myhome.zone

  18. maxpack: межфайловая дедупликация на версионных данных

    Разбор межфайловой дедупликации на версионных данных: почему обычная упаковка упирается в потолок и что меняется на CPython, Go и Node.js.

    habr.com/ru/articles/1019718/

    #сжатие_данных #дедупликация #архивация #versioned_data #tar #zstd #7z #snapshots

  19. Oh, my #ccache is filling up:

    Cache size (GiB): 40.3 / 100.0 (40.25%)

    Note that this is #zstd compressed.

    #dev

  20. @davidculley so what? Actually, many contributions from #meta #facebook to #opensource world including #MySQL. #RocksDB born there. And don't forget #zstd.

  21. My new daily backup script, pg_dump with zstd compression level 19.

    docker exec \
       ak-postgres-1 \
       pg_dump -U umeyashiki umeyashiki_akkoma | \
       nice -n 19 \
       ionice -c 3 \
       chrt --idle 0 \
       zstd -T0 -19 --rsyncable -q > "$BACKUP_DIR/db_latest.sql.zst";
    

    Today I learned something new about the scheduling priority. Since zstd compression is very CPU-intensive, set it to low priority so it doesn’t slow the entire system down during compression.

    Commands that precede zstd here are:

    • nice -n 19 [cmd]
    • ionice -c 3 [cmd]
    • chrt --idle 0 [cmd]

    By chaining nice, ionice, and chrt together before the zstd command, the script forces the compression process to run with the absolute lowest possible priority for both the CPU and the disk.

    • nice 19 is the lowest priority CPU priority.
    • ionice with class 3 means idle. A program running with idle I/O priority will only get disk time when no other program has asked for disk I/O for a defined grace period.
    • chrt --idle 0: Set scheduling policy to SCHED_IDLE (scheduling very low priority jobs).

    References:

    • man 1 chrt
    • man 1 nice
    • man 1 ionice

    #linux #docker #zstd #postgresql #sched

  22. Interesting blog post about text classification using compression, specifically the new "compression.zstd" module contributed by @emmatyping

    maxhalford.github.io/blog/text

    #compression #zstd #zstandard #classification

  23. [Перевод] Пишем свой git: минимальная реализация на Rust

    Контроль версий долгое время был для меня «чёрным ящиком»: я не понимал, как именно хранятся файлы, как формируются diff’ы и из чего состоят коммиты. А поскольку я люблю изобретать велосипеды, почему бы не попробовать реализовать git самому?

    habr.com/ru/companies/cloud4y/

    #git #rust #контроль_версий #sha256 #zstd #хеширование #petproject #системы_контроля_версий #объекты_git #commit

  24. If you use #btrfs on kernels ranging from 6.12 to 6.19 and get the error:

    VFS: Unable to mount root fs on unknown_block(0,0)

    Add the 'btrfs' and 'microcode' hooks to /etc/mkinitcpio.conf via chroot and rerun initramfs generation.

    If that doesn't help install `intel-ucode.img` and add it to your grub boot parameters in the initrd list.

    If that still doesn't help (happens on Intel 3770k and older) disable #zstd initramfs compression, use gzip instead.

    You are welcome

    #initramfs #microcode

  25. ZSTD with level MEDIUM gives you the same runtime as the traditional MS_XPRESS algorithm, but the backup is around 14 GB smaller. The level LOW is really fast (203 sec. vs. 305 sec., and the backups are still smaller (58 GB vs. 50 GB). #sqlserver #zstd #compression #performance

  26. @asgrim I've just checked back and this now works, any idea what could have been the problem here? #php #pie #zstd

  27. Issues with PHP PIE this morning building a Docker image. Seems to be failing to auth against Github on one of the installs here "Could not authenticate against github.com”. Other extensions seem ok though 🤔

    #php #pie #zstd

  28. Meta hat ein neues quelloffenes Framework vorgestellt, das Dateien anhand ihrer Inhalte passend komprimiert. OpenZL arbeitet dabei verlustfrei und besonders schnell, setzt allerdings auch (stark) strukturierte Daten voraus.#Komprimierung #Meta #OpenZL #Zstd
    OpenZL komprimiert Daten anhand ihrer Struktur - LinuxCommunity
  29. Введение в 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

  30. @konstruct @SuperDicq GNU/JIHAD AGAINST "OPEN SOURCE" AND ALL OTHER FORMS OF PROPRIETARY SOFTWARE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    The best technique available now is to start running a tor middle and the Chinese firewall will stop poorly programmed IPv4 LLM scrapers from China for you (just make sure you are also reachable over IPv6).

    Another technique is to add bombs folder and link to it and make some GNUzip bomps;
    dd if=/dev/zero bs=1G count=1 | gzip > 01GiB.gz
    dd if=/dev/zero bs=1G count=1 | gzip > 10GiB.gz

    Also make some zstandard bombs;
    dd if=/dev/zero bs=1G count=1 | zstd > 01GiB.zst
    dd if=/dev/zero bs=1G count=10 | zstd > 10GiB.zst

    Also add a text file noting to right-click -> Save As to save the bombs instead of triggering them.

    Also add to robots.txt;
    User-agent: *
    Disallow: /path/to/bombs/

    Then add to the relevant server {} in nginx.conf;
    #gzip bombs
    location ~* /path/to/bombs/.*\.gz {
    add_header Content-Encoding "gzip";
    default_type "text/html";
    }

    #zstd bombs
    location ~* /path/to/bombs/.*\.zst {
    add_header Content-Encoding "zstd";
    default_type "text/html";
    }

    Also 403 empty useragents; if ($http_user_agent = "") { return 403; }

    There are also some LLM scrapers that will identify themselves;
    if ($http_user_agent ~ (.*Amazonbot.*|.*Applebot.*|.*ClaudeBot.*|.*GPTBot.*)) { return 403; }

    You also want ratelimiting;
    In http {};
    #10 requests per second on average
    limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;

    Then to each server{};
    limit_req zone=perip burst=10 nodelay;

    For bursty protocols like git, you'll need a larger burst amount (allows several git clone's in a row from an IP, but will block if you spam git clone);
    limit_req zone=perip burst=1024 nodelay;


    That is usually all that is needed to stop all aggressive LLM scrapers and should continue to work forever.


    Sites manually targeted for scraping will need specifically targeted defenses (evil Anubis will be bypassed in such cases).
Share on Mastodon

Enter the server where you have an account.