手抜きのファイル出力で大失敗 |
|
| 何か日経平均が爆上げ。その前の安いところで買っておけばかなりの利益になったのでしょうが、こういうことが出来ないから去年も今年も儲けられないという状況。まあ全額出金している状態なので、手出しすることは無理なのですが。でも今日の高く寄り付いたところで買いから入るのって結構難しいような感じがします。この水準で買った銘柄をどれだけの上昇と損切りルールで保有するのかという計画性が思いつきません。 マケスピRSSのアプリの方は、昨日は5秒ごとに現在値を取得していたら時間が飛び飛びになってしまったのですが、原因を色々調べた結果、どうも5秒ごとにファイルを出力するのにかかる時間が長いらしいことがわかりました。その間にRSSのイベントが沢山やってくると、こなせないイベントが蓄積してしまってさらに時間がかかるようになってしまいます。イベントが増えれば増えるほどますます時間がかかってしまうような状況です。 そこで5秒ごとにファイルを出力するのをやめて、一定の時刻になったらファイルを出力するようにプログラムを書き換えてみました。もとのプログラムは5秒ごとに追記モードでオープンしてファイルを1行出力してクローズという形をとっていたのですが、これを改造するのが面倒くさいと思って、まとめてファイルに出力するときにも1行ずつ追記モードでオープン、出力、クローズという形をとりました。ちょっと効率が悪そうだとは思っていたのですが、既に夜中だったので、テストもろくにせずに寝てしまいました。 ところがこれが大失敗。今日やってみたら、あまりにも時間がかかりすぎで、前場の全280銘柄のデータを保存するだけで35分もかかってしまいました。一括で出力するように完全にプログラムを書き換えるべきだったのですが、今日の分のデータは後場もとっておきたいと考えたので、現在後場のデータを出力しています。いつ終わることやら_| ̄|○ あと、5秒ごとの処理で、現在値の価格を画面に表示するのにメインのスレッドに対してInvokeメソッドを使って送信していたのですが、どうもこのInvokeが遅いなあと思っていたら、それもそのはずで、Invokeって同期的なんですね。スレッドの返却値を取得できないから、てっきり非同期なのだと勘違いしていました。ザラ場中はアプリのウィンドウを半透明にして、マケスピの値と比較しやすいように作っているのですが、アプリのウィンドウを半透明にしてしまうとコントロールの描画速度が落ちるので、Invokeの同期的な挙動が尚更全体のパフォーマンス低下に繋がってしまうという有様。 (;><) ( つ□ ) ◇● □▲○◆ ◇■▲○  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
? (;><) ●と つ□ ◇ □▲○◆ ◇■▲○  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
○ ◆ ▲ ??? ○(;><)◇ ●と つ□ ◇ □ ◆ ▲  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
□ ● ▲ □ ○ (;><)▲ よくわかんないんです!! ◆と つ○ ::ι:: ::ヽ):: ⌒◇ ::◇ ◆::  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| |
|
6月22日(木) | トラックバック(0) | コメント(0) | 日記 | 管理
|