BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//pretalx.com//pyconjp2026//talk//SPZKNG
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
DTSTART:20250821T000000
TZNAME:JST
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Pythonの実行はどこまで賢くなったのか：CPythonとPy
 Pyから見る最適化のしくみ - curekoshimizu
DTSTART;TZID=Asia/Tokyo:20260821T114500
DTEND;TZID=Asia/Tokyo:20260821T123000
DTSTAMP:20260818T083930Z
UID:pretalx-pyconjp2026-SPZKNG@pretalx.com
DESCRIPTION:Pythonは読みやすく書きやすいだけでなく、処
 理系の進化によって実行性能の面でも少しずつ賢くな
 っています。CPython 3.11以降の高速化、Python 3.13/3.14のexpe
 rimental JIT、そしてJITを実用的に活用しているPyPyなど、P
 ythonコードを効率よく動かすための仕組みは広がってい
 ます。一方で、それぞれが何を見て、どのように速く
 しているのかは、普段Pythonを書いているだけではあま
 り意識しないかもしれません。\n\n本セッションでは、
 短いPythonコードを題材に、Pythonが実行されるまでの流
 れと、実行中に行われる最適化のしくみを示します。
 あわせて、処理が遅いときにボトルネックの性質をど
 う見立て、CPythonの最適化、PyPy、NumPy、C拡張といった選
 択肢をどう考えればよいのかも整理します。\n\nソース
 コードは、プログラムの構造を表すASTに変換され、次
 にCPythonが実行しやすい命令列であるバイトコードにな
 ります。さらに近年のCPythonでは、実行中に観測された
 型や操作に応じて、バイトコード実行を効率化する仕
 組みがあります。AST、バイトコード、JITといった言葉
 を知らなくても追えるよう、足し算やループ、関数呼
 び出し等を例に進めます。\n\nまた、PyPyが競技プログラ
 ミングなどで選ばれる理由や、反対にNumPyやC拡張との
 相性で注意が必要な点も、CPythonとの比較から整理しま
 す。一方で、Pythonの最適化はgccのような静的コンパイ
 ラとは前提が異なり、何でも強力に機械語へ最適化で
 きるわけではありません。「型ヒントを書けば速くな
 るのか」「PyPyにすると必ず速いのか」といった疑問を
 通じて、Pythonの速さを複数の層に分けて理解し、日々
 のコードを見る視点を増やすことを目指します。
LOCATION:Dahlia 2
URL:https://pretalx.com/pyconjp2026/talk/SPZKNG/
END:VEVENT
END:VCALENDAR
