05/12/19 02:41:33
>>200
インラインニングやループ展開一つ例に挙げれば分かりやすい。
インライン化、ループ展開は確実に速くなるけど、すべてのところでやると、
実行ファイルサイズが爆発する。そのために「ここぞ」というところでやるわ
けなんだが、ここで「よく実行される」つー情報は非常に有益。
つかPGOだけど、>>197も書いているように実際に実行してプロファイルを
作ることが必要。つまりユーザーの模範的実行パターンを組んで実際に
実行してそしてプロファイルを作る必要がある。
こんなめんどくさいことしなきゃならんし、あくまで「一般システム」以上の
最適化が出来なくてユーザーや環境ごとの最適化は無理なのでJITに比
べて不利。まぁJITはJITで実行コストとの戦いになるがな。