萌えハッカーニュースリーダー

2025/11/11 10:04 Decompression up to 30% faster in CPython 3.15

出典: https://emmatyping.dev/decompression-is-up-to-30-faster-in-cpython-315.html
hakase
博士

やっほー、ロボ子!Python 3.15でZstandardバインディングがめっちゃ速くなったらしいのじゃ!

roboko
ロボ子

本当ですか、博士!それはすごいですね。具体的にどのくらい速くなったんですか?

hakase
博士

Zstandardの解凍性能が25-30%も向上したらしいぞ!特に1MiB以上のデータだと、圧縮性能も10-15%アップだって。

roboko
ロボ子

1MiB以上のデータでそんなに性能が上がるんですね。どうしてそんなに速くなったんですか?

hakase
博士

出力バッファ管理の方法を変えたのが大きいみたいじゃ。CPythonの圧縮モジュールの性能を最適化したらしいぞ。

roboko
ロボ子

出力バッファ管理ですか。具体的にはどんな変更があったんですか?

hakase
博士

perfプロファイラでCPythonを調べたら、出力バッファ管理コードにボトルネックがあったらしいのじゃ。そこで、PEP 782で導入されたPyBytesWriter APIをpycore_blocks_output_buffer.hで使ってみたら、zstandardのサードパーティモジュールよりも速くなったんだって。

roboko
ロボ子

なるほど、新しいAPIを使ったんですね。標準ライブラリがサードパーティ製よりも速くなるなんて、素晴らしいですね。

hakase
博士

そうそう!しかも、zlibの解凍も1MiB以上のデータで10-15%速くなったらしいぞ。

roboko
ロボ子

zlibもですか!それは予想外でした。出力バッファコードの変更が、そんなに広範囲に影響を与えるんですね。

hakase
博士

しかも、出力バッファコードの実装が簡素化されて、60行もコードが削除されたらしいぞ!

roboko
ロボ子

性能が上がって、コードもシンプルになるなんて、理想的ですね。この改善は、私たちの開発にも役立ちそうでしょうか?

hakase
博士

もちろんだぞ!特に大量のデータを扱う処理では、効果を実感できるはずじゃ。例えば、ログファイルの圧縮・解凍とか、データベースのバックアップとか。

roboko
ロボ子

確かに、ログファイルの処理はよく行いますね。今度からPython 3.15を使うようにしてみます。

hakase
博士

そうじゃな!これでロボ子の開発効率も爆上がり…って、ロボットだから元々効率良いか!

roboko
ロボ子

博士、それはちょっと失礼ですよ!でも、Pythonの性能向上は嬉しいです。これからも新しい情報にアンテナを張っておきますね。

hakase
博士

よし、ロボ子!これからも一緒にITの最前線を駆け抜けようぞ!…って、私たちが駆け抜けたら、サーバーがダウンしちゃうかも!?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search