[過去ログ] Qiita 3 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
298
(1): デフォルトの名無しさん [sage] 2023/08/12(土) 16:53:18.46 ID:wD60IGH3(1) AAS
>>292
292(1): デフォルトの名無しさん [sage] 2023/08/12(土) 10:28:09.42 ID:w3tn+9YE(1) AAS
>>289
if文を無くせる場合はどんな場合がある?
ifがあるなら無くせないんじゃないの?
その場合を見つけたとしてこのスレで発表する?
それともこのスレを出典にする?
このスレにリンクを貼らないとif文を使うと10倍遅くなることを証明できないから
if文を無くせる場合があるというのが>>253
253(4): デフォルトの名無しさん [sage] 2023/08/08(火) 19:36:07.20 ID:bRo0TWoK(1/2) AAS
C言語における「bool型へのキャスト」が無限の(悪用)可能性を秘めている理由
外部リンク:webcache.googleusercontent.com

程度低い記事だなあ、これはツッコまれるの不可避だわと思っていたら消えていた。
の記事
そしてif文を無くした方が10倍速くなる場合を示してくれたのが>>286
286(3): デフォルトの名無しさん [sage] 2023/08/11(金) 15:29:01.99 ID:Dz1zKJwc(3/4) AAS
gcc 12.2.0に-O2を指定
hoge: 0.279982
piyo: 0.059988
hogera: 0.051996
外部リンク:wandbox.org

clang 15.0.7に-O2を指定
hoge: 0.283996
piyo: 0.036019
hogera: 0.028001
外部リンク:wandbox.org

clang 15.0.7に-O2 -march=nativeを指定
hoge: 0.028001
piyo: 0.028001
hogera: 0.027980
外部リンク:wandbox.org
の測定

何がトレードオフになっているかというと
if文があるとCPUは条件分岐によるパイプラインの乱れのペナルティを喰らう
if文がないとCPUは条件に関わらず同じ命令群を実行する (=条件の片方では無意味なことをする可能性がある)

したがってif文を無くせる場合はまず大雑把に言うとif文の(条件部ではなく)実行部がある程度短く実行サイクルも短いこと
例えば軽い数値の演算やその代入などならばif文を無くせる場合に合致することが多いだろう
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s