JV-Link 質問箱 |
タイトル | : セットアップデータ取得時間が次第に長くなる |
記事No | : 7329 |
投稿日 | : 2015/01/18(Sun) 08:27 |
投稿者 | : VBAオンチ |
|
お世話になります。
過去4年分のデータを最新版DVDからセットアップしようとしていますが、1つ の区切りごとに取得時間が長くなっていくことに気づきました。メモリの解放な どがまずいのでしょうか。
セットアップデータの[RACE]も元々長くかかりましたが、こんなものかと我慢 してきましたが、[SLOP](坂路調教)などでたまたま再起動したら、最初は1月分 が15分程度のものが、次は30分、60分、90分と取得する月が替わるごとに長くな っていくことに気づきました。
[SLOP]の場合ですが、 retVal=JVLink1.JVRead(buf,200000,filename)で取得したデータを DmyCData(1 To 50000) As Stringで定義した配列に格納し、retVal=-1の区切り でディスクにセーブし、配列やbufをクリアしますが、時間が長くなるのは変わ らないようです。 JVReadのbufは内部で解放されるようなので特に外部からなにもしなくてもいい とは思いますが、buf=""をしてもしなくても変わりません。
JVOpenで取得した後、次のような感じでJVReadで解読しています。
p=0 'Dataの数(Long) retVal=1 While retVal<>0 retVal=JVLink1.JVRead(buf,200000,filename)
if retVal>0 Then p=p+1 DmyData(p)=Left(buf,Len(buf)-2) '配列に格納
Elseif retVal=-1 Then 'データ区切り 'データをディスクに書き込み(省略)
'メモリ解放 Erase DmyData() '配列再定義 Redim DmyData(1 to 50000) As String 'bufクリア buf=""
End If
Wend
JVLink1.JVClose
書き込み時間の方は一瞬で終わります。 メモリ解放(Erase DmyData()は配列再定義を行うので不要かと思いますが、時 間短縮の効果はないようです。
普段は非蓄積系データを使っており、セットアップデータを使うのは初めてで す。最初はJVGetsで[RACE]データを取得していましたが、遅いので普段のJVRead に変えましたが、やはり遅い。あれこれ試行錯誤で取得しているので、4年分を 全部取得するのにほぼ一週間かかっています。最初から時間が次第に長くなって いたのかもしれません。 パソコン側の問題かもしれませんが、何かヒントがあれば教えてください。
なお、非蓄積系の方は特に今までと変わらない感覚です。 よろしくお願いします。 |
|
タイトル | : Re: セットアップデータ取得時間が次第に長くなる |
記事No | : 7363 |
投稿日 | : 2015/01/21(Wed) 17:46 |
投稿者 | : JRA-VANソフトサポート |
|
JRA-VANソフトサポートの竹下です。 DataLab.サービスをご利用頂きまして誠にありがとうございます。
大変申し訳ございませんが、ご記載いただいたソースからでは パフォーマンスの低下につながるような箇所を特定することは 出来ませんでした。
現在の情報から申し上げることが出来る点として、JVGetsを 使用した方が全体的に改善が見込まれると推測されます。 (JVGetsはJVReadよりもパフォーマンス性を改善した メソッドになります)
つきましてはJVGetsのご利用をご検討いただければと思います。
以上、よろしくお願い致します。 |
|
タイトル | : Re^2: セットアップデータ取得時間が次第に長くなる |
記事No | : 7367 |
投稿日 | : 2015/01/22(Thu) 11:11 |
投稿者 | : VBAオンチ |
|
JRA-VANソフトサポート 竹下様
ご回答ありがとうございました。
最後はJVGetsに変えてやってみましたが、若干速度は上がるようですが、次第 に時間が長くなる現象は同じでした。
結局、残り1年分を2,3か月ごとにいったん処理を終了して、fromtimeを変 更して取得しましたが、疲れました。
またよろしくお願いします。 |
|
|
|
copyright ©2007 JRA SYSTEM SERVICE CO.,LTD. All Rights Reserved.
|
|
|