JITの話

bleu48.hatenablog.com

 

じっと我慢のボンカレーとどこかの名人が言ったとか言わなかったとか。

二週前にレイトレをやった際に見つけたTaichiというJITが思いのほか優秀であったので,どんなもんか試していた。

 

対Numbaでの比較である。

 

利点

Taichiの方が速い

具体的にはNumbaの宣伝のようなblogをいくつか見つけてそれをTaichi実装してみたところ全てにおいてTaichiの勝利。概ね3倍程度出るものが多かった。

Numbaに丁度いい問題という特殊条件下で僅差になる。

高速化に関しては多コア,CUDAともにTaichiの方が柔軟に対応している感じ。

 

欠点

1.TaichiはNumpyなどと親和性がNumbaに比べ低い

2.Taichiはcomplexなどの型が使えない

3.要するに配列定義等が独特で専用にコードを書く必要がある

4.ループや分岐の使用に一定の縛りがある

 

既存のコードを高速化するのではなく,Pythonでちょろちょろっと書いたものを高速実行したいとき用のJITということになるだろうか。

うちだと出番ありそうである。