2021-06-02

anond:20210602214104

あくまでもC++で考えているが

while(true)

goto最適化できないコンパイラって、まともに使われているやつであるの?

インタプリタならわかるけどコンパイラだよねぇ?

 

というか、一般的にはこの程度はコンパイラができることが常識から

ソースコードレベルで期待するPythonじゃないかC++ならな

というより ほぼ無意識レベルで そういうのを期待しながら書いている

当然 最適化なしなら おっしゃるとおり

 

というより

どういうふうに最適化されるかを読みながら書いていくのがC言語という言語だろと言う話

学術言語ではなく、実用のための言語から

学術的より現実界優先

記事への反応 -
  • do{}while(flag) と while(true){ if(!flag) break;} なにがちがうのか? ものすごい単純に言うと 前者はIFがflagしかないが 後者はtrue判定とflag判定と2つあるため 厳密に言うと 後者のほうが2倍...

    • そんなことより前判定と後判定だから最低試行回数が違う

      • それな 難しいところがそこでwhile(true)は 絶対に成功するので そもそも判定せずに GOTO命令に内部で置き換えるために 判定しないんだなぁこれがという

        • それは単にオプティマイザによるじゃん ソースレベルの議論になってない

          • あくまでもC++で考えているが while(true) をgotoに最適化できないコンパイラって、まともに使われているやつであるの? インタプリタならわかるけどコンパイラだよねぇ?   というか、一...

            • 抽象化されたソースからオーダを議論するのにオプティマイズのレベルを混ぜるのって頭悪そう

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん