じっと我慢のボンカレーとどこかの名人が言ったとか言わなかったとか。
二週前にレイトレをやった際に見つけたTaichiというJITが思いのほか優秀であったので,どんなもんか試していた。
対Numbaでの比較である。
利点
Taichiの方が速い
具体的にはNumbaの宣伝のようなblogをいくつか見つけてそれをTaichi実装してみたところ全てにおいてTaichiの勝利。概ね3倍程度出るものが多かった。
Numbaに丁度いい問題という特殊条件下で僅差になる。
高速化に関しては多コア,CUDAともにTaichiの方が柔軟に対応している感じ。
欠点
1.TaichiはNumpyなどと親和性がNumbaに比べ低い
2.Taichiはcomplexなどの型が使えない
3.要するに配列定義等が独特で専用にコードを書く必要がある
4.ループや分岐の使用に一定の縛りがある
既存のコードを高速化するのではなく,Pythonでちょろちょろっと書いたものを高速実行したいとき用のJITということになるだろうか。
うちだと出番ありそうである。