LoginSignup
9
1

More than 1 year has passed since last update.

PyCon JP 2022 day1 Keynote

Last updated at Posted at 2022-10-17

10/14(金)~15(土)に開催されたPyCon JP 2022に行ってきました。
私自身まだPython歴半年の若輩者ですが、諸先輩方から学びたいと思い初めて参加することにしました。

各セッションごとに、記事を投稿していきたいと思います。
まずはDay1のKeynoteからです。

動画

スライド

  • 公開なし

スピーカー

  • Mark Shanonnさん
    • Microsoftが出資するCPython高速化チームのリーダー

内容まとめ

  • PythonのVMごとの高速化についての話

用語について

VM(バーチャルマシン)

  • Pythonプログラムを動かすためのマシン

Baseline Performance

  • 最適化されてないコードの高速化

Optimizer Performance

  • optimizer自体の高速化

Psyco(2003-2007)

  • JITコンパイラーの特殊化
  • シンプルにする(間違った)仮説を立てた
  • 上手くいったら早い
  • 32bit x86 のみ

PyPy (2006-)

  • Psycoの方向性を正しく行った
  • RPythonで書かれている

HotPy (2007-2010)

  • PhDの研究
  • JITのトレース

Jython and IronPython

Jython (1997-)

  • JVM上で動くPython
  • Cpythonより少し遅い

IronPython (2006-)

  • .NET上で動くPython

Unladen Swallow (2009-2011)

  • Googleのプロジェクト
  • Based on Cpython
  • 最終的な目標は、Cythonにマージすること

Pyston version1(2014-2017)

  • DropBoxのプロジェクト
  • LLVMが使われている

Pyjion (2015-2022)

  • RyuJITが使われている

Skybison (2018-2021)

  • Instagram(現Meta)のプロジェクト
  • 特別なインタプリタを搭載
  • No JITコンパイラー
  • Cinderに移行

Cinder (2019-)

  • Instagram(現Meta)のプロジェクト
  • Based on Cpython
  • 大規模なサーバファームになら有効

VMのプロジェクトは失敗が多かった

  • たくさんのプロジェクトが立ち上がったわりに、過去の失敗から学ばなかった

Pyston version2 (2020-)

  • 最新のVM
  • メソッド単位のJITコンパイラー
  • Based on Cpython

Fater CPython (2021-)

  • Microsoftのプロジェクト
  • CPythonの数倍の高速化を目指す
  • 学んだ教訓を活かす
  • Python 3.11として、10日後くらいにリリースされる

感想

  • 私自身過去にはPHPとかRubyをやってきましたが、処理系まで深く勉強したことがなかったので、学びになりました。
  • 「たくさんのプロジェクトが立ち上がったわりに、過去の失敗から学ばなかった」というのは、各社単体ごとのプロジェクトだったので、それぞれのノウハウが共有されにくかったのかなと思いました。
9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1