“高速なPython”に向けさらなる一歩--「Pyston 2.2」リリース

Liam Tung (ZDNET.com) 翻訳校正: 編集部

2021-05-10 10:47

 Pystonの開発元は米国時間5月5日、「Python 3.8.8」の実装をベースにさらなる高速化を施した「Pyston 2.2」をリリースしたと発表した。また、このプロジェクトのオープンソース化も発表された。

 「CPython 3.8.8」をフォークしたPystonはGitHubで公開されており、「ウェブ関連など、現実世界の大規模アプリケーションに的を絞り、(さまざまな最適化を実施することで)追加作業の必要なしに最大30%の高速化をもたらす」とされている。

 Pyston 2.2を際立たせている大きな特徴は、JIT実行エンジンの活用と、属性キャッシングだ。

 Pystonの生みの親であるKevin Modzelewski氏はブログで「われわれは、さらなる分野に目を向け最適化し、特にJITと属性キャッシュのメカニズムで高速化を進めた」と説明している。

 Modzelewski氏のLinkedInのプロフィールによると、同氏は2017年まで約10年間、Dropboxでプリンシパルエンジニアを務めていた。DropboxはバックエンドのサービスやデスクトップクライアントなどをほぼPythonで構築している。さらにPythonの生みの親として知られるGuido van Rossum氏は2012年にDropboxに雇用され、400万行ものコードの対応を支えていた(van Rossum氏は2019年にDropboxを退社し、現在Microsoftのテクニカルフェローとなっている)。

 Modzelewski氏によると、Pystonではさらに、「Pythonでサポートされているものの、ほとんど使われていない数多くのデバッグ機能」を削除することで、高速化を追求するとともに、Pythonのデバッグ機能がコンピューターに与える負荷を削減しているという。

 これらのデバッグ機能を削除しても、その影響はわずか2%しかないが、Pythonのコードを実行している世界中のコンピューターの数、そしてコードのカーボンフットプリントを考えると、実際の影響は膨大なものとなるはずだ。

 Modzelewski氏は「Pythonを実行している世界中の全てのコンピューターの2%はデバッグ用のチェックを実行している」と記している。

 「われわれはこれらチェックを無効化し、デバッグ情報を保持していないバイナリーとでも言うべき『最適化されたビルド』を作成している。これまで通りデバッグ機能を必要とする人々は、互換性があるが故に従来のPythonにおける『デバッグビルド』を使用することができる」(Modzelewski氏)

 Modzelewski氏は、オープンソースビジネスモデルを通じ、サポートサービスを手始めにしてPystonから収益を得ようとしている。

 同氏は、「(ユーザーが)現在のプロジェクトでPystonを採用する場合、その作業は『python』を『pyston』に置き換えるのと同じくらい容易なものとなっているはずだ」と記している。

この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]