SubVersionからGitに移行するかも
というエントリで書いてたんだけど、WindowsにおけるGitはなんだか難しい・・・
C#プロジェクトをリポジトリに入れているわけだけど、*.csの改行コードはOSネイティブに、
*.sln, *.csprojはCR+LFのまま維持ということを実現したい。
だけど、cloneした瞬間にすべてのファイルがmodifiedとマークされちゃったりとか、
どういうタイミングかはわからないけど、改行コードが意図するとおり自動変換されるんだけど、
*.sln; *.csproj だけmodifiedとマークされちゃったりとか・・・
あまりツールの移行に時間をかけるわけにはいかないので、今回は見送りっと・・・
btrfsとかnilfs2とかで遊んでみた。btrfsはパフォーマンスの面でまだまだだけど、NILFS2は良い感じ。
簡単に2GBのファイルシステムを作って、GentooPortageを解凍するのにかかった時間とファイルを全部削除するのにかかった時間を計ってみた。
VirtualBoxを使ったテスト環境で、しかも仮想ディスクはUSB-HDDに保存しているという特殊な環境なので、
ここでの結果は全然正確じゃありませんので、参考程度に。
| ファイルシステム名 | mkfsオプション | mountオプション | 利用サイズ | 展開時間 | 削除時間 |
| ext3 | default | default | - | error | - |
| ext4 | default | default | - | error | - |
| xfs | default | default | 658MB | 60.211 | 10.579 |
| xfs | -b size=512 | default | 246MB | 24.732 | 9.602 |
| reiserfs | default | default | 248MB | 41.176 | 5.940 |
| reiserfs | -b 512 | nolog | 217MB | 31.521 | 35.751 |
| NILFS2 | default | default | 744MB | 20.607 | 65.551 |
| NILFS2 | -b 1024 | default | 290MB | 18.659 | 63.110 |
| btrfs | default | default | 309MB | 126.619 | 11.598 |
ext3・ext4では空き容量が足りませんって言われて、そもそも解凍できないのにびっくり。
エラー時には2GB中300MBしか使っていないことになっているのに・・・
もう少しファイルシステムのサイズを増やせば正常に解凍できるかもしれないけどね・・・
ReiserFSはblocksizeが小さいときはnologを付けないとファイルの削除にかかる時間が半端無い・・・