最適化のためのCPUコアの評価 - ページ 11

 
Aleksey Vyazmikin:

もちろん、私はコードから "if "を削除していることを確認しました。ただ、ロジックの高速化という点では、何が得なのかが明確ではないので、コメントが欲しいところです。

直感的な解決策 - 大きなコードは関数に移動し(さらに良いのは別のインクルード)、if、increment、breakを削除します。

また、解析する変数の値の取得に非常に困っています。テストの例では、これらはランダムですが、現実には?私はすでにそこに純粋なブール値を残して、(double_a)の代わりに(bool_a > 10.0)をチェックします。

 
Igor Zakharov:

新しいビルド、新しいテスター、新しいコンパイラ...。サマリーテーブルに "build mt5 "カラムがない。

今のところ、結果は安定しています。昨日チェックしたので、ビルドごとのパフォーマンスのジャンプは期待しないでください。

 
Andrey Khatimlianskii:

直感的な解決策は、大きなコードを関数に入れ(もっと言えば、別のインクルードに入れ)、if, increment, breakをなくすことです。

実際、すでに機能として成立しているわけですから、なぜこんなに性能が上がるのか、よくわからないですよね

私の作業コードではinludeを使用していますが、純粋にコードの移行です、どのように整理することを提案しますか?ブレイはパフォーマンスに大きく影響します。スピードを落とさないためには、どのように除去すればよいのでしょうか?

アンドレイ・ハチムリアンスキー

また、解析した変数の値を取得するのに非常に戸惑っています。テスト例ではランダムですが、実際は?私はすでにそこに純粋なブール値を残すだろう、私は(double_a)の代わりに(bool_a > 10.0)をチェックすることができます。

実際にはdoubleと同じで、データは外部ファイルから取得し、初期化時にバッファに完全に読み込まれます。だから、どうやってboolを作るのか、正確には理解していなかったんです。

 
Maxim Romanov:
3800xは、ストリームでの性能でi7 8700にほぼ追いついた。しかも、2700から出たんですよ。
これは、メモリのレイテンシが減少したことと、キャッシュが2倍になったことによるものと思われます。
結論:mt5では、メモリアクセスレイテンシとメモリリード速度が決め手となる。
これは、2990wxスレッドでの性能の低さからも確認できます。4チャネルで特殊なキャッシュ処理をして いるにもかかわらず、高いメモリレイテンシを有しています。
ですから、コアそのものの速度はそれほど重要ではありません。
そういうものなのかもしれませんね。

で、3800Xは2700から脱却できないはずなんだけど?

 
Aleksey Vyazmikin:

そして、最適化の際には、単純に思想的に周波数が下がると仮定します。興味本位で、どのEAも16回ではなく160回と長めに回してみると、パスの時間がどう変わるか気になります。

F


PS もしかして、RAMを読み込むテストがあるのでは?

 
Pavel Verveyko:

F


PS もしかして、RAMを読み込むテストがあるのでは?

ありがとうございます。平均は16パスとほぼ同じでしたね。正しいデータだと思うことにします。

メモリについては、残念ながらパブリックドメインで適当なものがない。

 
Pavel Verveyko:

3800Xは2700から脱却した方が良かったのでは?

そうでなければ、ハードウェアを選択する際の拠り所となるような理由を提案したのです。
 
Maxim Romanov:
そうすれば、今後、アイロンを選ぶときの判断材料になると思ったからです。

了解です、ありがとうございます。

 
Aleksey Vyazmikin:

ブレイはパフォーマンスに大きく影響します。スピードを落とさないためには、どのようにすればよいのでしょうか?

私の例のように、リターンに置き換えてください。


アレクセイ・ヴャジミキン

実際には、外部ファイルからデータを取得し、初期化時にバッファに完全に読み込まれるため、二重の意味で使用されます。そのため、具体的にどうすればboolになるのかが分かりませんでした。

の代わりに

int Povtor_High_M1 = X;

if ( Povtor_High_M1>=0 ) ***

if ( Povtor_High_M1< 0 ) ***

作る

bool Povtor_High_M1 = (X >= 0);

if ( Povtor_High_M1 ) ***

if ( !Povtor_High_M1 ) ***
 
Andrey Khatimlianskii:

私の例のように、リトーニーに置き換えてください。


の代わりに

作る

残念ながら私は賢くないのですが、X>=0は他のどの数字よりも大きいかもしれません - 組み合わせはたくさんあります - コードですべてを予見することはできませんし、様々な組み合わせによりコードは何桁も大きくなります。