人とか機械とか

デジタルガジェットやコンピュータについてのブログです。

ナウいコンパイラ


コンパイラの最適化オプションって、コードサイズ節約とパフォーマンス優先が基本だけど、現代的な事情を考えるとマルチスレッド最適化とか、パワーセーブ優先とか、パフォーマンスの中にも低レイテンシと高スループットどっち優先か、とか、あるのかなあ?

たとえばマルチコアCPUで、レイテンシを低くしたいISRは1コアにそのISRだけ動かすようにすれば実現できる。そんなにレイテンシ低くなくていいなら、1コアで複数のISRを共有していい。
(※ ISR = Interrupt Service Routine 割り込みサービスルーチン)
PCIexpressにもCore Targetingという機能があり、割り込みメッセージ毎にCPUコアの指定ができるようになっている。比較的あたらしいPCIe接続チップであれば、そういった機能が活用されているものがあるはず。

今のPCの状況を見ると、4コアを中心に最適化が進んでいるように見える。それよりコアが多いのはエクストリームなUsageっていう印象。