リリースされてからちょうど1ヵ月が経過した「Fedora 30」だが、プロジェクトチームはすでに次期リリース「Fedora 31」に向けて数多くのアップデートを検討中だ。その中でも比較的大きな動きとして、RPMパッケージの圧縮アルゴリズムを長年使ってきたxzからZstdへと変更する可能性が強くなってきている。
- Changes/Switch RPMs to zstd compression -Fedora Project Wiki
この提案を行ったのはRed Hatでプリンシパルソフトウェアエンジニアを務めるDaniel Machで、現在、バイナリRPMの圧縮に使われているxz(レベル2)をZstd(レベル19)に変更することで、解凍時に劇的なパフォーマンス向上が見込めるという。MachはFirefoxパッケージ(firefox-66.0.5-1.fc30)のリビルドをテストした結果を挙げており、xzで圧縮したパッケージを解凍した場合に要した時間は一時ファイルシステム(tmpfs)で8秒、NVMe上のext4では11秒だったが、Zstdではtmpfsで2秒、ext4で4秒まで短縮することができたとしている。解凍のパフォーマンスが上がれば、パッケージのインストールやアップグレード、さらにはコンテナのビルドも高速化されることになり、スピーディな環境構築が実現しやすくなるメリットがある。また、パッケージの圧縮率が高くなれば、リポジトリを置くミラーサイトの帯域幅も負荷が軽減されることになる。
Fedoraは2018年5月にリリースした「Fedora 28」(5月28日をもってEOL)からZstdをサポートしているため、Fedora 28以降のバージョンにアップデートしているユーザであればこの変更による影響はない。今秋リリースされるのFedora 31での実装を目指し、これからテストが重ねられる予定だ。