助けてください問題が解決できない、ハードウェアの限界にぶつかる - ページ 18 1...1112131415161718192021 新しいコメント Andrey Khatimlianskii 2014.08.22 18:24 #171 テストスクリプトと実行結果。HDDです。2014.08.22 21:16:43.584 sTest_ReadWriteBIN EURUSD,M1: 100000 secuences writed in 39.8 sec 2014.08.22 21:17:24.174 sTest_ReadWriteBIN EURUSD,M1: 4156 Mb loaded in 40.0 sec (103.9 MB/sec)RAMドライブ。2014.08.22 21:22:15.170 sTest_ReadWriteBIN EURUSD,H1: 100000 secuences writown in 27.6 sec. 2014.08.22 21:22:42.805 sTest_ReadWriteBIN EURUSD,H1: 27.6 秒で 4158 Mb をロード(150.4 MB/秒)それでも印象に残らない。確かに、今はパソコンでいろいろなものが動いていて、テスト環境はクリーンとは言えませんね。後でまたやります。 ファイル: sTest_ReadWriteBIN.mq4 4 kb TheXpert 2014.08.22 18:34 #172 komposter: 読み取りをWinAPIアナログに交換すれば、RAMディスクで少なくとも2〜3倍の速度向上が得られると思われます anonymous 2014.08.22 18:46 #173 komposter:TheXpert: ちなみに、各シーケンスの起点がわかっていれば、取引は時間順に並んでいるので、バイナリサーチで目的の日付を検索することが可能です。+1、アイデアありがとうございます。 補間探索を適用することも可能で、このタスクではおそらくさらに高速に動作することでしょう。 Andrey Khatimlianskii 2014.08.22 19:49 #174 TheXpert: WinAPIアナログで読み込みを代用して、RAMディスクで少なくとも2-3倍の速度向上が得られると思われます。FileOpenだけが 遅く、読み込みは速いはずです。でも、確認します。anonymous: また、補間探索を適用することも可能で、このタスクではさらに高速になる可能性が高いです。かっこいい、ありがとう。 Vladimir Kazakov 2014.08.23 08:01 #175 komposter:...それでも印象に残らない。 ... C++では、64K-128Kバッファへのfreadで行われます。sscanf-typesは非常に遅いので、独自のパーサーでパースするのがよいでしょう。 Sergey Dzyublik 2014.08.23 09:09 #176 kazakov.v: C++では、これは64K-128Kバッファへのfreadで行われます。sscanfsは非常に遅いので、パースはあなた自身のパーサーで行った方がよいでしょう。C++では、パーサがなくてもできる場合。このアイデアを10回繰り返すと、別のファイルのシーケンスの開始位置の値で別のファイルを起動し、シーケンス構造にトランザクション 数を格納する必要さえなくなります。 Vasiliy Sokolov 2014.08.23 15:20 #177 marketeer: この問題はかなり学術的であり(プログラマーを雇うための問題のようだ)、多くの人が興味を示しているので、入力データの記述形式をもっと厳密に定式化して、全員が20ギガのテストデータを生成して、その実用解を提出してはどうだろう。+100この作業は自明ではありませんが、まだコードは一行もありません。アンドレイ ここにいる多くの人が興味を持っています。スポーツ番組を持とう Victor Nikolaev 2014.08.23 18:18 #178 C-4:+100この作業は自明ではありませんが、まだコードは一行もありません。アンドレイ ここにいる多くの人が興味を持っています。スポーツ番組を作ろう 課題はすでに設定されている。 Vasiliy Sokolov 2014.08.23 18:47 #179 Vinin: 課題はすでに設定されている。 テストデータ+擬似コード、データ処理の一般原則が必要。 Andrey Dik 2014.08.23 19:13 #180 なぜ、データベースから選択肢を選んでいくのか。 条件に応じて履歴から案件を生成したほうがいいのではないか。 1...1112131415161718192021 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
テストスクリプトと実行結果。
HDDです。
2014.08.22 21:16:43.584 sTest_ReadWriteBIN EURUSD,M1: 100000 secuences writed in 39.8 sec
2014.08.22 21:17:24.174 sTest_ReadWriteBIN EURUSD,M1: 4156 Mb loaded in 40.0 sec (103.9 MB/sec)
RAMドライブ。
2014.08.22 21:22:15.170 sTest_ReadWriteBIN EURUSD,H1: 100000 secuences writown in 27.6 sec.
2014.08.22 21:22:42.805 sTest_ReadWriteBIN EURUSD,H1: 27.6 秒で 4158 Mb をロード(150.4 MB/秒)
それでも印象に残らない。確かに、今はパソコンでいろいろなものが動いていて、テスト環境はクリーンとは言えませんね。
後でまたやります。
TheXpert:
ちなみに、各シーケンスの起点がわかっていれば、取引は時間順に並んでいるので、バイナリサーチで目的の日付を検索することが可能です。
+1、アイデアありがとうございます。
WinAPIアナログで読み込みを代用して、RAMディスクで少なくとも2-3倍の速度向上が得られると思われます。
FileOpenだけが 遅く、読み込みは速いはずです。でも、確認します。
また、補間探索を適用することも可能で、このタスクではさらに高速になる可能性が高いです。
かっこいい、ありがとう。
...
それでも印象に残らない。
...
C++では、これは64K-128Kバッファへのfreadで行われます。sscanfsは非常に遅いので、パースはあなた自身のパーサーで行った方がよいでしょう。
C++では、パーサがなくてもできる場合。
このアイデアを10回繰り返すと、別のファイルのシーケンスの開始位置の値で別のファイルを起動し、シーケンス構造にトランザクション 数を格納する必要さえなくなります。
この問題はかなり学術的であり(プログラマーを雇うための問題のようだ)、多くの人が興味を示しているので、入力データの記述形式をもっと厳密に定式化して、全員が20ギガのテストデータを生成して、その実用解を提出してはどうだろう。
+100
この作業は自明ではありませんが、まだコードは一行もありません。アンドレイ ここにいる多くの人が興味を持っています。スポーツ番組を持とう
+100
この作業は自明ではありませんが、まだコードは一行もありません。アンドレイ ここにいる多くの人が興味を持っています。スポーツ番組を作ろう
課題はすでに設定されている。