本日仕事前にふと思いついたので作業してみた。
昨日のJobSystemに続き、Burstコンパイラを導入してみた。
Burstコンパイラは、対応する機能の近くにBurst関連のタグを書くだけで、最適化されたCPUコードを出力できる機能を持つ。
すなわちJobSystemにおいて、ILではなく最適化されたコードが出力されるといこと。
ただGCがない前提になるのに注意。すなわち利用できる変数の型や文法に制約がある。
参考資料:
Burst Compilerざっくりまとめ – EF Blog (hatenablog.com)
Burstを触ってみる – BurstによるSIMD化の検証 | Yucchiy’s Note
今回の最適化箇所は、前日に実装した「移動処理の並列化」。
単純に処理効率が上がった。また追加実装もタグを付与するだけなので、実装の負荷も殆どない。
JobSystemはBurstとセットで考えるのが良さそうで、NGであればJobSystemだけ導入する。