Google Adopts Pyrefly for Faster, More Accurate Python Type Checking

Google Adopts Pyrefly for Faster, More Accurate Python Type Checking


Google は、長年使用してきた Python 型チェッカーである Pytype を、元々 Meta によって開発されたオープンソース ツールである Pyrefly に置き換えました。この決定は、より高速で正確な型チェック、インフラストラクチャ コストの削減などの Pyrefly の利点によって推進されました。

Python の型指定システムが急速に進化するにつれて、Pytype は根本的な課題に直面しました。ソース AST ではなくコンパイルされたバイトコードを分析することで動作するため、最新の型付け PEP に対応するために、Python リリース間でバイトコードが不安定になるため、メンテナンスの負担が増大しました。

Google の内部ベンチマークによると、Pyrefly は Pytype よりも約 10 倍高速で、増分再構築のレイテンシーを最大 98% 削減し、Python の型チェックのピーク コンピューティング コストを 80% 以上削減します。 Google はまた、クリーンビルド クリティカル パスに沿った型チェック時間が 90 ~ 99% 削減され、実質的に「長年にわたる開発のボトルネックが解消された」と報告しました。

Google Adopts Pyrefly for Faster, More Accurate Python Type Checking

Pyrefly の主な強みの 1 つは、Python の型指定仕様への強力な準拠であり、準拠スイートのテストの約 97% に合格していると Google は説明しています。 Pyrefly はコミュニティによっても積極的にサポートされており、新しい構文に対応するのに役立ちます。また、その診断は、エラーの根本原因を正確に特定し、場合によっては修正を提案するインライン コード アノテーションなど、より実用的なフィードバックを提供します。

コミュニティは Google の発表に関心を持って反応しました。ほとんどのコメント投稿者は、Pytype のパフォーマンスが Pyrefly よりも悪いということに同意しましたが、Ty や Mypy と比較した Pyrefly の相対的な利点について議論する人もいます。ガシーズ氏は次のように指摘した。

Pyrefly はさらに成熟しています。すでに 1.0 を超えており、ty と同等のパフォーマンス速度を備えており、実績のあるツールです。 tyはまだそこまで到達していない。

WindHawkeye は、「Mypy は、大規模なセットアップでは人々が思っているよりもはるかに高速です。Mypy は依然として最速の増分型チェックを備えています」と観察し、これに対して BeamMeUpBiscotti は次のように答えました。

Mypy 2.0 は大規模プロジェクトでコールド チェックが最大 5 倍高速になるとされていますが、新世代の型チェッカーはそれよりも最大 1 桁高速になる可能性があります。

LinkedIn での発表についてコメントし、Python 開発者の Amirrea Azadmher 氏は別の視点を提供し、型チェッカーの価値は単に CI パイプラインで 30 秒を節約することではなく、開発中の編集とチェックのループをどのように改善するかにあると主張しました。彼は次のようにも述べました。

現在、Pyright 対 Pyrefly 対 mypy を評価している場合は、他人のモノレポ番号を信用しないでください。ツリーのコールド時間とウォーム時間を測定し、スループットのほかに診断の品質をスコア付けします。ノイズが大量に発生する高速チェッカーは、実際の中断を示す遅いチェッカーよりもコストがかかります。

昨年メタは Pyrefly をオープンソース化しました。 Pyrefly は高パフォーマンスを実現するように設計されており、効率を最大化するために Rust に実装されています。 Meta によれば、大規模なコードベースで 1 秒あたり 180 万行のコードをチェックできるため、キーストロークごとに型チェックを実行できるとのことです。





Source link

Leave a Reply

Your email address will not be published. Required fields are marked *