Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

MulSync Version 1.0.1

 2011/3/11の東日本大震災の後、14日にいったん出社してから自宅待機になったので、15日に電気が復旧したあとは水汲みなど、家の手伝いを行う他にすることがないので、MulSyncの改良を行い、20日にリリースを行った。

 今回は、節電のため主にノートPCを使ったので、USBメモリ用に設定を変更したSharpDevelop 3.2をメインに使って開発を行った。最後のテストのほうでは、自作機とVisual Studioも使ったが、SharpDevelopでも遜色なく開発を行えることがわかったというのは収穫である。

 MulSync Version 1.0.1では初版で積み残していたステータスバーへの説明表示と同期対象ファイルチェック処理の高速化をメインに行った。

 中でも、同期ファイルチェック処理の高速化ではVisual Studio 2008 Standardにはない、プロファイラを使って実行速度を計測してボトルネックをつぶすことができた。プロファイラの存在だけでもVisual StudioSharpDevelopを両方持っておく価値はあるなと思う。

 プロファイラを使った実行の結果、System.IO.DirectoryInfoクラスのGetFileSystemInfosメソッドの実行に時間を取られていると言うことがわかったので、Windows APIを使って書き直したところ、大幅な速度向上を果たすことができた。.NET FrameworkVMは遅くないけど、少なくともファイル検索に関しては、APIの処理が丁寧すぎて速度が出ないといえる。そういえば、昔仕事で.NET Compact FrameworkいじったときもWindows Formの部品を使うと遅くて、ウインドウにベタな線や矩形、文字列の描画を行うと早くなると言うことがあったのを思い出した。