ToDo:
もうそれほど速くはならないと思うがベンチマーク目的で、 ScheffPropElem[]とCompStepSize[]のC versionを試しに書いてみたところ...
なんかさらに2倍速になるんですけど Orz
やっぱり、SADインタープリターが致命的に遅いのかな...
KEKBで使ってる SADScriptで書いた Optics Correctionの計算とかも Cで書き直すと10倍ぐらい速くなりそうな気がしてきた
とすると、欲しくなるのは
あたりですね。
前者に関しては、例えばC++上に SADインタプリター内のオブジェクトと 操作を表現するクラスを作って、変換時に型情報を追跡して 効率よくC++のコードへマップ出来れば、そこそこの性能は出そうです。
後者に関しては、バックエンドVMに LLVMとかが使えそうです。 上層で、関数言語的な簡約と最適化を行った後、LLVM向けの バイトコードを吐き出して、LLVMがローカルなマシンコードへ 最適化を行いつつ変換するみたいな実装とか...
どちらにしろ、SADScriptのメンテナンス性の良い構文解析器が必要な気がし ます。まずは、野菜作りですかね?(Yet Another SAD Interpreter)
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記