2017-09-09 6 views
0

Aproxの回答で十分です。 同じサイズの2つの矩形が重複しているかどうかを確認することになっています。 1)既存のコードは、ある矩形のすべて(x、y)が別の矩形のすべて(x、y)だから、合計で16の比較をする 2)私の改善 - 各矩形の左上隅の距離を計算し、この距離が矩形の対角より小さいかどうかを調べる。実行するCPUクロックサイクルはどれくらいですか? Pythagorasの式または "if"節のint間の16の比較?

また、CPUのクロックサイクル/時間の数について議論しているすべての書籍は、コーディングでの各操作がCPUで1回実行されるのに感謝しています。

答えて

0

これは、おおよその平方根の近似によって決まります。定期的な近似は、それが提供する正確さ(したがって反復回数)のために、より遅くなります。

あなたの四角形がかなり小さいように見える場合、最も速いアルゴリズムは単純なルックアップです:可能なすべての平方根を辞書に保存してルックアップを行います。

これが必要でない場合は、別のアルゴリズムを検索することができます(平方根の近似を探したり、平方根を生成する組み込みアルゴリズムを探します)。それから、必要な反復を計算し、それゆえに複雑さを計算するのはあなた次第です。

ここではいくつかの経験的な近似で同様の質問へのリンク、です:

https://gamedev.stackexchange.com/questions/27196/which-opcodes-are-faster-at-the-cpu-level

関連する問題