トップ «前の日記(2004-09-22) 最新 次の日記(2004-09-28)» 編集

SHIROUZU Personal Log


2004-09-27

_ [fastcopy] 高速コピーツール(α版)

先日から開発していたのは、1年以上前に言っていた、高速コピーツールのこと。一応、α版が完成。(まだ、かなり荒削り…)

以前の構想とだいたい一緒で、

1.質実剛健、ゴテゴテしない、目立たず実行
2.取り扱いファイルサイズやファイル数などに上限なし
3.(MFC を使わず)Win32 API だけで作成

などはもちろんとして…

4.デバイスの限界に近いパフォーマンス
5.NT系OS の場合、MAX_PATH(260) を超える名前や
  UNICODE ファイル名も扱える。
6.読み込みも書き込みも、常にOSのキャッシュを使わない。
 (これは、どちらかというと軽さのため。今時のOSでは、
  ファイルキャッシュが mmap/paging機構として実現さ
  れているため、大量のファイルアクセスをすると、
  他のプロセスのメモリがページアウトされてしまう
  可能性が高い)

さらに、4を実現するために、

1) コピー元・コピー先が「別HDD」の場合、大容量バッファを
 使い、読み出しと書き込みを、別スレッドで並列に行う
2) コピー元・コピー先が「同一HDD」の場合、大容量バッファ
 を使い、読み出しと書き込みをシーケンシャルに行う
3) 常に、ファイル単位ではなく、大容量バッファ単位で同期

という形にしたつもりです。以下に置いてあります。

fastcopy050.zip

(注意:現状では、コピー先に同名ファイルがあっても警告なしに上書きします)

いろいろな環境での実行結果を教えていただけると助かります。また、他のツールとの性能比較なども歓迎です(笑)

追記:どうやら、Win98/Me では全く動作しない模様。あとで修正しておきます。


本日のツッコミ(全1件) [ツッコミを入れる]
_ 坂上 (2006-12-04 00:25)

お世話になります。坂上と申します。<br>この度、社員が7名程度の設計・製造会社に転職しました。<br>ネットワーク管理者が非常勤で週に一回しか来ません。<br>設計データーの共通管理を検討しております。<br>私が入社する前も検討したのですが、「いつのまにか<br>データーが消える」ので中断したらしいです。<br>私が検討しているのは次の方法です。<br> 1)昼休み、または深夜にC:→D:にコピー<br>  (C:がオリジナル、D:がバックアップ) <br> 2)C:とD:を比較<br>   C:に無いファイルはD:→E:に移動<br><br>これは、誤ってC:のファイルを削除した場合に<br>C: D:のミラーリングをした後で<br>削除したファイルがE:に残るというもの。<br>自動バックアップした後で、本当に削除したのか<br>確認するためです。<br>バックアップソフトを探していますが、適切なものが<br>ありません。<br>このような使い方ができるでしょうか?<br>初心者ばかりで困っております。<br>パスワード管理も検討しておりますが、<br>恐らく、間違って消しているのは、深夜一人で残っている<br>社長ではないかと・・・<br>なにかアドバイス等がごさいましたら宜しくお願いいたします。

[]