2018.11.1506:19:01.929 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Pastushak : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 141053 микросекунд
2018.11.1506:19:01.934 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Korotky : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 2494 микросекунд
2018.11.1506:19:01.938 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Fedoseev : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 1869 микросекунд
2018.11.1506:19:01.941 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Semko : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 785 микросекунд
2018.11.1506:19:01.945 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Nikitin : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 2039 микросекунд
2018.11.1506:19:01.952 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Vladimir : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 4385 микросекунд
2018.11.1506:19:01.961 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Peter : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 7476 микросекунд
2018.11.1506:19:01.965 ArrayDeleteValue__13 (.BrentCrud,M1) вариант fann95 : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 1255 микросекунд
2018.11.1506:19:01.969 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Kuznetsov1 : Контрольная сумма = 7219.502578; элементов - 1000000; время выполнения - 2016 микросекунд
2018.11.1506:19:01.975 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Kuznetsov2 : Контрольная сумма = 7225.756203; элементов - 998992; время выполнения - 3965 микросекунд
2018.11.1506:19:01.975 ArrayDeleteValue__13 (.BrentCrud,M1)
2018.11.1506:19:01.975 ArrayDeleteValue__13 (.BrentCrud,M1) === Порядок в массиве не сохраняется ===
2018.11.1506:19:01.978 ArrayDeleteValue__13 (.BrentCrud,M1) вариант Kuznetsov3 : Контрольная сумма = 7222.657252; элементов - 998992; время выполнения - 694 микросекунд
2018.11.1513:30:51.354 TestLoop (EURUSD,D1) вариант while: Контрольная сумма = 7697.499145747599; элементов - 998975; время выполнения = 771 микросекунд
2018.11.1513:30:51.357 TestLoop (EURUSD,D1) вариант for: Контрольная сумма = 7697.499145747599; элементов - 998975; время выполнения = 1051 микросекунд
2018.11.1513:30:51.360 TestLoop (EURUSD,D1) вариант slow: Контрольная сумма = 7697.499145747599; элементов - 998975; время выполнения = 1531 микросекунд
演算子については、このようなC++言語では遅すぎるという議論がすでにありました。ArrayCopyで バラバラになる程遅いとは思いませんでした。
演算子内部のインクリメントについては、別の質問です。
なぜ自分を修理して 私を捨てたの?
私は誰も放り出してない。ダウンロードした ものは、返却しました )))
誰も追い出さなかった。ダウンロードした ものを返却する ))))
11日にダウンロードしたものを、12日(以下略)に修正し、13日として返却したわけですね。
演算子については、このようなC++言語では遅すぎるという議論がすでにありました。ArrayCopyでバラバラになる程遅いとは思いませんでした。
演算子内部のインクリメントについては、別の質問です。
ここで無駄な操作をする理由もないくらいです。ループ再生中の場合。コピー時に現在のアイテムが範囲外かどうかを確認する必要はない。バウンド内となる。そして、何かを足したり、変数をひとつ増やしたりすることに意味がない。デフォルトでは、i.がある場合。
とにかく、つまらないものばかりです。ご参考までに
11日にダウンロードしたものを、12日(以下略)に修正し、13日として返却したわけですね。
注意を払わなかった。ファイルを差し替えました。
この非情なコンペティションでもスケッチされました :-)
今回も未確認です :-) 動作するはずです...
エラーを含むテストを推奨してきた(SemkoとPavlov).
ありがとうございます、修正しました。
この無慈悲なコンテストで描かれたものでもあります :-)
今回も未確認です :-) 動作するはずです...
が含まれていますが、最初のバリアントがおかしいです
2つのループのロジックやチェックの回数、和がほぼ100%同じなのに、実行時間が違うというのは、私の誤解に 帰結します。
では、なぜクズネツォフのコードからこのような変種が生まれたのか、改めて考えてみましょう。
は、まったく同じことをするものに比べて2倍以上の速さで動作します。
コンパイラのすばらしさとは?
そんなデザインが本当に可能なのだろうか。
while(arr[i]!=x && i<j) i++;
は、コンパイラがプロセッサのために何か特別なアセンブラの検索コマンドを見つけたのでしょうか?しかし、内部にはi<jのチェックが追加されていますね。
なぜなら、forを通して同じことをすると、実行速度が格段に落ちるからです。
デモスクリプトのコードを添付します。
このようなことがよくあります。不要なゴミに追われているうちに、ちょっと面白いことに気がついた。
開発者の皆さん、実行コードを見て、何がこの違いを生んでいるのか、見ていただけませんか?
今後、より最適なアルゴリズムを作るために、コンパイラの論理を理解する必要があります。
興味深い観察結果です。また、興味深かったので、次のコードを実行してみました。
2つのループのロジックやチェックの回数、和がほぼ100%同じなのに、実行時間が違うというのは、私の誤解に 帰結します。
では、なぜクズネツォフのコードからこのような変種が生まれたのか、改めて考えてみましょう。
は、まったく同じことをするのに比べ、2倍以上の速さで動作します。
コンパイラのすばらしさとは?
こんな構成で本当にいいのだろうか。
は、コンパイラがプロセッサのために何か特別なアセンブラの検索コマンドを見つけたのでしょうか?しかし、内部にはi<jのチェックが追加されていますね。
なぜなら、forを通して同じことをすると、実行速度が格段に落ちるからです。
デモ用スクリプトのコードを添付します。
このようなことがよくあります。不要なゴミに追われているうちに、ちょっと面白いことに気がついた。
開発者の皆さん、実行コードを見て、何がこの違いを生んでいるのか、見ていただけませんか?
今後、より最適なアルゴリズムを作るために、コンパイラの論理を理解する必要があります。
フラッグとの相性もいいと思います。
http://osinavi.ru/asm/4.php
そして、不要な演算子・比較のために......。