JA EN
体系 › システム基盤

言語処理系

コンパイラ・JIT・GC。コードが速く動く理由

01 ·言語処理系·無料·13分で読めます コンパイラを1から — ソースが機械語になるまで たった1行の式が、字句解析・構文解析・意味解析・中間表現・最適化・コード生成の6工程を通って1命令の機械語になるまでを、前提知識ゼロから追い切ります。なぜ -O2 でバグが表に出るのか、なぜベンチマークのループが消えるのかも、この道筋の上で説明できます。 02 ·言語処理系·★ 会員·13分で読めます JITとGC — 実行しながら速くする・掃除する 実行時コンパイラ(JIT)とガベージコレクタ(GC)は、どちらもアプリを止めずに裏で働く仕事です。ホットスポット検出・段階コンパイル・インライン化・投機と脱最適化・世代別GC・三色マーキング・ライトバリアを前提知識ゼロから積み上げ、最後はGCログとJITログを自分で読めるところまで。 03 ·言語処理系·★ 会員·15分で読めます Pythonはなぜ遅いのか、をちゃんと言う 「Pythonは遅い」の中には、1演算あたりの手間・メモリの並び方・並列に回らないという別々の3つの話が混ざっています。オブジェクトと評価ループ、NumPyが速い本当の理由、GILが何を守っているのか、そしてPEP 703以降のfree-threadedビルドがどこまで解決するのかを、前提知識ゼロから積み上げます。