GPGPU
■ このスレッドは過去ログ倉庫に格納されています
0547・∀・)っ-○◎●
2007/04/18(水) 22:43:44パイプラインが長いと、分岐の度に大きなペナルティ食らうわけよ
んで
for (i = 0; i < 1000; i++) {
if (a == b) {
//HogeHoge
} else {
//BokuhaKamiyamaMangetuChan
}
}
よりも
if (a == b) {
for (i = 0; i < 1000; i++) {
//HogeHoge
}
} else {
for (i = 0; i < 1000; i++) {
//BokuhaKamiyamaMangetuChan
}
}
のほうが速いよね。
パフォーマンス重視なら、分岐を繰り返し処理の外に追い出せる場合は
なるべくそうしたほうがいい。たとえ冗長になってもね。
普通のCPU向けプログラミングでも同じ
(最近は分岐予測のほうが賢くなってるから一概にはいえないけど)
■ このスレッドは過去ログ倉庫に格納されています