平成27年春問2について
あああさん
(No.1)
c 動的コンパイラの所で2つ質問です。
1つ目は、起動で0.1秒はわかったのですが、
コンパイル時間の計算式
(400/1000)×0.1
の部分、
2つ目は
最初から100回目の呼出しまでが500ナノ秒/命令、コンパイル後の101回目から400回目までの300回が10ナノ秒/命令なので、
100×2,000×500+300×2,000×10
=100,000,000+6,000,000
=106,000,000(ナノ秒)
=0.106(秒)
の"最初から100回目の呼出しまでが500ナノ秒/命令"の数字の意味と、101回目から400回目までの10ナノ秒の意味もわかりませんでした。
これら2つの数字の意味を教えていただいたら嬉しいです。どなたかお願いします。
1つ目は、起動で0.1秒はわかったのですが、
コンパイル時間の計算式
(400/1000)×0.1
の部分、
2つ目は
最初から100回目の呼出しまでが500ナノ秒/命令、コンパイル後の101回目から400回目までの300回が10ナノ秒/命令なので、
100×2,000×500+300×2,000×10
=100,000,000+6,000,000
=106,000,000(ナノ秒)
=0.106(秒)
の"最初から100回目の呼出しまでが500ナノ秒/命令"の数字の意味と、101回目から400回目までの10ナノ秒の意味もわかりませんでした。
これら2つの数字の意味を教えていただいたら嬉しいです。どなたかお願いします。
2020.03.29 19:44
QMさん
★FE ゴールドマイスター
(No.2)
すべて条件のところに書いてあるとおりです。
1つ目
「関数Fの中間コードは400命令から成り,」
と
「コンパイル時間は,中間コード1,000命令当たりで0.1秒とする。」
から、
400命令を「1000命令当たり」にするために1000で割ってから、0.1秒を掛けています。
2つ目
「関数Fが101回目に呼び出されるときに動的コンパイラが起動」
なので、
最初から100回目まではインタプリタ方式で
「インタプリタによる中間コード1命令の実行時間は500ナノ秒」
が適用されます。
101回目からは動的コンパイラで実行形式プログラムにしたものを使うので、
「中間コード1命令に対応する実行形式プログラムの実行時間は10ナノ秒」
が適用されます。
1つ目
「関数Fの中間コードは400命令から成り,」
と
「コンパイル時間は,中間コード1,000命令当たりで0.1秒とする。」
から、
400命令を「1000命令当たり」にするために1000で割ってから、0.1秒を掛けています。
2つ目
「関数Fが101回目に呼び出されるときに動的コンパイラが起動」
なので、
最初から100回目まではインタプリタ方式で
「インタプリタによる中間コード1命令の実行時間は500ナノ秒」
が適用されます。
101回目からは動的コンパイラで実行形式プログラムにしたものを使うので、
「中間コード1命令に対応する実行形式プログラムの実行時間は10ナノ秒」
が適用されます。
2020.03.29 20:12
あああさん
(No.3)
ありがとうございます!!!
めっちゃ助かりました!
めっちゃ助かりました!
2020.03.30 00:28
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告