Re: ImageGeter2β ( No.1 ) |
- 日時: 2007/08/06 00:44
- 名前: Toki◆pRU.c9X.EOI
- ご意見ありがとうございます
1. 繰り返しが発生する原因を一度調べてみます。自身のテストでは発生しないので、 特殊なURLなどで、取得済みと判定していない可能性が無いか検証してみます。
2. 「100ファイル毎」は確かに安易過ぎるので、 ファイル数の変更と保存時間の間隔について設定できるように検討します。
3. 設定の継承は、Windowのファイル権限と同じようなのをイメージしています。 基本的な考え方として、親の設定を変更しても子の設定は変更されません。 子は親の設定を使用するか、自身の設定を使用するかの選択をします。 これは、意図しないサイトの設定が書き換えられもとの状態に戻せなくなるのを避けるためです。
4. .NET Frameworkの性格上、空きメモリが多いほどGCの発生が遅くなり、 メモリを多く使用するようになります。 つまり、搭載メモリを増やせば増やすほど、使用メモリが増えます。 GC自体は能動的に発生することも可能ですが、不必要に実行すとメモリは開放されますが、GC自体の効率が悪くなり、また不要なオブジェクトが開放しづらくなる可能性があります。やはり、最も最適なのはOSに実行タイミングを任せることなのですが、 どうしても気になるようならば、時間orメモリなどの条件でGCを発生する設定を追加しようと思います。
5. 再検討してみます
|
Re: ImageGeter2β ( No.2 ) |
- 日時: 2007/08/06 20:55
- 名前: ななし
- ご返信ありがとうございます。
補足します。 @の繰り返しとは、 http://〜/〜/〜.JPGなどの一部において、 http://〜/〜http://〜http://〜http://〜/〜.JPGのような変なURLが生成され、取得の失敗 がおきる現象があるようです。
A、Cは、取得済みのファイルのサイズが大きい(手元の環境で100MBと異常に大きい)と顕著に影響します。
作者さまもご指摘のとおり、A、Cについてはソフト側の不具合でなく、仕様として正常な動作と考えますが、取得ずみファイルサイズが大きい環境では、β7の方が、β8、9に比べ、極めて効率よく動作します。
GCについては、重い処理の部類に入るためにOSに処理を任せるべきであるとのご指摘のとおりであると思います。 ただし、β8,9とβ7では、GC発生のタイミングが異なるらしく、β7は、CLRのメモリ確保エラーで落ちることがあります。(手元環境のβ8,9では、ファイル保存とともに、ワークメモリ量が増えてGCが発生するために落ちない?)
上記の件とは異なりますが、追加で、ご参考にしていただければと思います。
A.優先度の意味、算出方法と、オプションの「データのダウンロード優先に移行〜」の意味について、今後、ヘルプなどに記述されると良いかと思います。
B. 取得済みURLファイルの内容が整理される(失われる?)ことがあるようですが、整理操作を実施しているのでしょうか?(それとも、単純に失われているのでしょうか)
C. 手元環境で、バージョン表示のURLをクリックしても、ホームページが開きません。(仕様かも?)
D.β8,9で、取得済みURL数が-1になったり、また、接続停止操作後、接続数が0にならず、終了できないことがある。
以上、ご参考にしていただければ、幸いです。
|
Re: ImageGeter2β ( No.3 ) |
- 日時: 2007/08/08 00:13
- 名前: Toki◆pRU.c9X.EOI
- いつもご報告ありがとうございます
@に付いてはいとど確認してみます。 HTML内のリンク追跡時に相対と絶対URLで問題が有るかもしれません。 ただし、これはもとのページ自体に問題がある場合も有ります。 解析方法を若干変更したので、厳密に解析するために表面化した可能性もあります。
取得ずみファイルサイズの保存についてはもう一度処理方法を検討しています。 テキストデータでの保存をバイナリにする事と 更新部分のみ保存する分割について検討していますが、 スッキリした解が無いので、今のところどれも検討中です。
GCはオブジェクトの作成と破棄のタイミングでどういった挙動になるのか読めないため、 今後も安定するかどうかわかりません。 最終的な調整項目としようと思います。
ご質問の件 A. HTML内にあるURL全てについて、相互で類似した部分が多いほど数値が増加します。 これは連番等のリンクが取得目的のデータである可能性が高いためです。 次にリンクの階層が1つ進むと1/2になっていきます。 リンクを進むほど、目的のデータである可能性が低くなるためです。 この数値を元に、現在のホストへのコネクションの数と解析スレッドの負荷を考慮して、 随時適切なURLを計算しています。
B. 長期に渡って検出されないURLは消滅したものとしてリストから削除されます。 具体的には、サイトの追跡を最後まで行なった時に検出されなかったのが5回続くと、 次回の起動時にリストから削除しています。
C. 多分バグです。
D. URLの状態のカウント方法変更と、データ取得の方法変更が原因だと思います。 要するにバグなので、再検査してみます。
|
Re: ImageGeter2β ( No.4 ) |
- 日時: 2007/08/25 21:14
- 名前: ななし
- 上記の追加です。
ア.取得済みファイルが、自動保存されない 取得済みファイルの自動保存ですが、 「100ファイル取得時」と「200ファイル取得時」には自動保存されますが、 それ以降には自動保存されていないような印象を受けます。 バージョンβ9で確認しました。 他のバージョンは未確認です。
|
Re: ImageGeter2β ( No.5 ) |
- 日時: 2007/08/25 23:10
- 名前: Toki◆pRU.c9X.EOI
- 取得済みファイルの保存方法はβ10で、大幅に変更しました。
ファイルを分割することで、変更個所のみを保存するようになっています。
ファイルサイズが増えた場合にHDDへのアクセスが軽減されるのと、 保存時のメモリの使用量も減ると思います。
|