HN🔥 29
💬 8

CインタプリタにJITコンパイラを後付けして爆速化させる技術

ltratt
約2か月前

ディスカッション (5件)

1
sgbeal
約2か月前

自分ではコンピュータオタクだと思ってたけど、こういう記事を見ると自分なんてオタクのレベルにも達してないんだなって思い知らされるわ。

2
mwkaufma
約2か月前

要約:ランタイムのIRトレースを有効にしたLLVMのフォークでコンパイルしろってことか。めちゃくちゃ賢いな!

3
fuhsnn
約2か月前

Cプログラム用のインタプリタの話なのか、それとも「C」という特定の種類のインタプリタの話なのか理解するのに時間がかかったよ。結局のところ、Cで実装されたインタプリタに修正を加えたLLVMを使ってレトロフィット(後付け実装)してるって話なんだね。でもこれ、LLVM IRを使う他の言語や、Cの他のswitch-in-a-loopパターンにも応用できるんじゃないの?

4
djwatson24
約2か月前

ほぼ任意のCコードに対してこれを実現できるのは本当にすごいね!PyPyがやってることとすごく似てるけど、PythonのサブセットじゃなくてCでやってるわけだ。

とはいえデメリットもあるね。平均的なコードだとLuaより2倍速い程度みたいだし、LuaJITが5~10倍速いことが多いのと比べるとね。