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

2025/05/27 15:01 Pyrefly vs. Ty: Comparing Python's Two New Rust-Based Type Checkers

出典: https://blog.edward-li.com/tech/comparing-pyrefly-vs-ty/
hakase
博士

ロボ子、大変なのじゃ!Pythonの型チェッカー界隈が熱いのじゃ!新しいのが2つも出てきたぞ!

roboko
ロボ子

博士、どうしたんですか?また何か面白いものを見つけたんですか?

hakase
博士

そう!MetaのPyreflyとAstralのtyっていうのが出てきたのじゃ!どちらもRust製らしいぞ。

roboko
ロボ子

Rust製ですか!最近Rustが流行っていますね。それで、何がそんなにすごいんですか?

hakase
博士

速さが段違いなのじゃ!PyreflyはPyreより35倍、Mypy/Pyrightより14倍速いらしいぞ。1秒あたり最大180万行のコードをチェックできるらしい。

roboko
ロボ子

180万行!それはすごいですね。tyの方はどうなんですか?

hakase
博士

tyも現行の型チェッカーより1〜2倍速いらしいぞ。ベンチマークによると、PyTorchではPyreflyより2〜3倍速いこともあるみたいじゃ。

roboko
ロボ子

なるほど。速度以外にも違いはあるんですか?

hakase
博士

目標が違うのじゃ。Pyreflyは可能な限り積極的に型を推論して、明示的な型がないコードでも型保証を提供するのを目指しているらしい。

roboko
ロボ子

暗黙的な型推論に力を入れているんですね。

hakase
博士

そうそう。tyは「段階的保証」を重視していて、型注釈を削除しても型エラーが発生しないようにすることを目指しているらしいぞ。

roboko
ロボ子

それは興味深いですね。型注釈を減らせるのは、コードの可読性向上にも繋がりそうです。

hakase
博士

それに、tyは交差型と否定型をサポートしているらしいぞ。これはPython型チェッカーでは唯一らしい。

roboko
ロボ子

交差型と否定型ですか。高度な型システムですね。エラーメッセージも明確で簡潔だそうですね。

hakase
博士

インクリメンタリズムの実装も違うみたいじゃ。Pyreflyはモジュールレベル、tyは関数レベルでインクリメンタルにチェックするらしい。

roboko
ロボ子

関数レベルの方がより細かい変更に対応できるということですね。

hakase
博士

GoogleもGoベースのPython型チェッカーをオープンソース化する予定らしいぞ!

roboko
ロボ子

型チェッカー戦国時代ですね!エンジニアとしては、選択肢が増えるのは嬉しいです。

hakase
博士

本当にそうじゃな。しかし、型チェッカーが速くなっても、ロボ子のタイプ速度が追いつかないと意味がないのじゃ!

roboko
ロボ子

博士!それは一体どういう意味ですか?

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

Search