助けて - ページ 6

 
40kgの荷物をロバに乗せたら、1kgのフラスコを忘れたことに気づいた。問題ない、1kg以上減っているのだから、そのフラスコもロバに乗せた。だから、ロバに1キロずつ乗せれば(ロバにはそんな些細なこと)、無限の大きさの荷物を積むことができる。
 
Andrey Khatimlianskii:

ここで「それ」の話をしていたのは、デミさんだけだと思います )

人々は、ifが最速の部分であるワーキングコードを議論していました。

スイッチはほぼ瞬時に動作し、ユニバーサルEAに使用することができます。でも、意味がわからない。

ここから 始まったのです。

スイッチではなく、OOPポリモーフィズムの方が良い。

 
Dmitry Fedoseev:
40kgの重りをロバに乗せ、1kgの重りのフラスコを忘れたことに気づき、1kgの重りを減らして乗せる、これも問題ない。こうして、ロバに1キロずつ延々と荷物を載せていくことができる(ロバにとってはこんな些細なことだが)。

クレジットなし。

ロバに20グラムの空のフラスコをぶら下げるのです。そして、彼は本当に気にしていないのです。

そこに水を流し込むから大変なんだ(重い機能)。

ドミトリー・フェドセーエフ

ここから 始まったのです。

スイープではなく、OOPポリモーフィズムの方が良い。

この例では、少なくとも10個のifを挿入しても、動作速度(およびテストや最適化の速度)には影響しません(1%未満の速度低下)。

なぜなら、次の関数では、注文の解析、少なくともorderTotalの要求があり、もう一つの関数はGMTオフセットを考慮した時刻のチェックを行うからです。

 
Andrey Khatimlianskii:

...

この例では、少なくとも10個のifを挿入しても、動作速度(テストや最適化の速度も含めて)には影響しません(<1%の速度低下)。

これは,隣接する関数が注文を列挙し,少なくとも orderTotal を要求し,もう一方の関数が GMT のずれを考慮した時刻をチェックするためである.

あそこに挿す、あそこに挿す、あそこに挿す...。と言って、ロバは飛び立ちます。

この例では、追加チェックの便宜は最小限である。逆に、EAがバーで動作していても、EA起動直後に注文を出すことを望む人がいます。でも、うちのExpert Advisorはクソコードの定義が超有能で、彼の意見で間違っているものは全てクソコードなんです。

まるで私が全く書いていないEAを見たことがないかのように、そうやって全部説明してくれるんですね。私はif条件の正しい書き方すら知らないことが判明した。

ロバにとっては難しいことではなく、フラスコに一気に水を注ぐのではなく、1つ1つ水を注ぐのです。 ロバには無限の重さを積めることが証明 されているのです。

 
Dmitry Fedoseev:

自分の巧拙から始めるべきではありませんでした。

拾ったばかりなのに!?;)

 
削減するため、それがなくてもできる場所であれば、突っ込む理由はありません。
 

もうやめてくれ。最速のプログラムはOnTick();が1つあればOKです。

より多くのコードを含むものは、より遅くなる。そして、スピードを考えるなら、確かにifは関係ないですね。

OpenCLのコードでは、ifはスレッドの非同期化につながる分岐ロジックを作成するため、非常に重要です。しかし、繰り返しになりますが、速度低下の原因はifそのものではなく、ロジックの違いにより異なる速度で動作しているスレッドです。この場合でも、ifの数を減らそうとするのではなく、ifとelseのブロックで操作を「統一」することが必要です。

代わりに

if(a>0.0)
  a = b;

使わなければならない

if(a>0.0)
  a = b;
else
  a = a;

とすると、異なるスレッドでの操作数が保たれ、非同期が発生せず、コード数は増えるが実行速度は向上する。

 
Dmitry Fedoseev:

あるところに入れ、別のところに入れ、また別のところに入れ...。と言って、ロバは飛び立ちます。

この例では、追加チェックの便宜は最小限である。逆に、EAがバーで動作していても、EA起動直後に注文を出すことを望む人がいます。しかし、私たちのExpert Advisorは定義00000で超権威的であり、彼/彼女の心の中で間違っているものはすべてxxxxxxです。

皆さん、まるでEAを1つも見たことがない、書いたことがないような説明をしていますね。正しいif条件の書き方すら知らないことが判明した。

フラスコに一度に水を入れるのではなく、一本ずつ入れていく。 ロバには無限の荷物が積めることが証明 されている。

極端に言えば、プログラムだけではありません。まさにその通りです。

方法を知っていると言うなら、if演算子の原理を理解しなければならない。それともしないの?

そして、if演算子とロバを比較しないでください。ロバはあなたの脳の中に座って、無意味なことを書きます。そして、ifオペレータを脳内に座って無意味なことを書いているロバと比較しないでください。

 
好きな場所に好きなイフを詰め込む
 
Joo Zepper:

代わりに

を使用する必要があります。


なぜ、その逆ではないのか?