CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

zipcopyが設計上まちがっていることを書いたがホントにそうかを調べてみた

投稿日:

以下にzipcopy Ver1.07開発中に気付いたことを転記する。
いろいろ直していて気付いたんだけど、そもそものところでこのソフトの設計思想があやまっていた。
ネットワーク上のサーバーにあるファイルを圧縮することをクライアントから操作していたら、サーバーのファイルを一度クライアント側に全部持ってこなくてはならないし、圧縮結果をサーバーに送り込まなければならない。この時点で大きなロスが発生していて、その後サーバーにあるzipファイルをクライアントにコピーしてくるなんて、とっても意味不明だ。

ホントにそうかを調べるには、モデルケースで実際に時間を計測してみるに限る。VSSの大量の小サイズファイルを対象とした。ファイル数26,709(フォルダ数42)、ディスク上のサイズ252MBのファイル群を対象にして、サーバーからクライアントにコピーしてくる時間を計測。zipに圧縮すると58MBになったから圧縮率23%。
①エクスプローラでコピー:540秒(100%)
②zipcopy:337秒(62%)
③FastCopy:300秒(55%)
④7zipで手動でローカルにzip圧縮:280秒(52%)
⑤サーバーでzip圧縮+クライアントからサーバーのzipコピー:⇒80秒(15%)

zipcopyなかなかいい数字を出したじゃないか!エクスプローラでコピーよりも約40%減の時間で済んでいる。FastCopyもそこそこいいけど、7zipの手動操作がいい結果を出している。サーバーで処理させる⑤が格段にいい数字を出しているのは予想通り。サーバー内でのzip圧縮して圧縮されたファイルをネットワークコピーするんだから一番効率いい。だた、クライアントの指示でサーバーに処理をさせるとなると、サーバー側に仕掛けが必要になって、一気にハードルが上がる。セキュリティだって考慮しなきゃならん。結論で言うと、④の7zip手動操作が一番いいな。こんどそういう機会があったらそうしよう。そして、⑤については、ヒマなときに構想をめぐらしてみて、モノになりそうならプログラムを組んでみよう。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

zipcopy Ver1.06リリース

zipcopyをリビジョンアップして、Ver1.06とした。 詳細は以下の通り。 Ver1.06 2020/2/24 ・ファイル削除時のタイムアウト(秒)を設定可能として、初期値を180秒(3分)とし …

no image

CEditでドラッグ&ドロップ

プログラミングから離れてしばらく経ってしまった。 プロジェクト管理をやっていると、プログラミングをやることができなくなる。 対人間の仕事の合間にプログラムをやることは、おいらには無理だった。 プログラ …

no image

C言語

遡ること10数年、初めて学んだコンピュータ言語がC言語でした。以来、ずっとやってます。机の上には本が一冊。 「実習C言語」(アスキー・ラーニングシステム) この本の画像を探してみましたが、古いだけにみ …

PDFアレコレのソースコードをnoteで有料公開してみた

ブロガーのマネタイズとして一般的になってきたnote。 ただブログで記事を書いたところで、おいらのようなアラフィフサラリーマンじゃー課金してくれるわけがない。 なので、おいらの大きな武器であるプログラ …

【C#プログラミング】pictureBoxとBitmapで画面ズームと画面移動機能を実装したい

PDFアレコレでPDFを描画するために利用しているのがpictureBox。とっても便利なクラスで、PDFiumのでRenderした結果であるImageを渡すだけで済んでいる。こんな感じで。。 pic …