ふつうのWebサービス開発者がRubyKaigiを楽しむためのRubyの知識
過去参加したけど難しかった
2019年に参加して難しかった
Rubのコードを実行するためのプログラムたち
CRubyなど
Crubyの実行の流れ
1. ソースコードを読む
2. CRubyがパーサーでASTを作る
3. ASTがコンパイルする
4. それをISeQにする
Rubyのコードがバイトコードにコンパイルされる際の内部表現
5. RubyVMが実行する
JIT
MJIT YJIT RJIT
「Just-In-Time」コンパイレーションの略で、プログラムの実行時にソースコードまたはバイトコードをネイティブマシンコードに動的に変換するプロセスを指します。この技術は、プログラムの実行速度を向上させるために使われます。
並行処理
並列かもしれないし、交互かもしれない
並列は並列
Ractor
1つのプロセスで並列処理
世代別インクリメンタルGC
ヒープページ
OSにメモリを返却するなどをしている
パーサー
parse.y
文法規則
課題がいくつかある
外部から使用できる
LSP等で壊れたコードも解決したい