更新日:10月12日18時30分
![「それはね、可愛いからだよ」全て猫が主人公の漫画『ねこむかしばなし』→「ねこむかしばなしは良いぞ」](https://cdn-ak-scissors.b.st-hatena.com/image/square/2cad688ac7e6f4cb843b92f54eeb7e44a74c21d6/height=288;version=1;width=512/https%3A%2F%2Fs.togetter.com%2Fogp2%2F74634d89243170866a442687b0451184-1200x630.png)
CPUの世界では、内部の機構をフロントエンド(命令フェッチとデコード)とバックエンド(命令実行とメモリ)で分けることができます。つまりrailsbenchの実行においては、フロントエンドの処理がバックエンドの処理に対して間に合っておらず、全体としてCPUの性能を使い切れていないことになります。 また、RubyのプログラムとYJITが生成したコードの行き来(ジャンプ)が頻繁に行われていました。このジャンプが多いということは、それだけ実行のために参照するアドレスが多く、結果としてコードの実行パスが増えてしまいます。その結果、予測が失敗したパス(汚染されたパス)が大量に増えて、投機的実行の予測精度に影響を与えていました。 加えて初期のYJITでは、この汚染されたパスもコード生成に利用していたため、さらに問題を悪化させていました。 これらが原因となり、初期のYJITではrailsbenchのパフォ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く