トップ «前の日記(2004-07-13) 最新 次の日記(2004-07-16)» 編集

jFD開発したりしなかったり日誌

2004|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|
2004年
7月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

2004-07-15 [長年日記]

_ 仕事やばい

コピペで作られたろくでもないソースがある。

僕のソースを元にしているので似てるんだけど、血縁関係で言うと

腹違いの父親違いくらいで、要するに他人じゃんソレ、という状態。

参るよなあ・・・

普段だったらこんなソースは丸々廃棄だが、時間が全然足りないんで生かさざるを得ない。

ボクシングの練習に行く時間も取れないし、勘弁してくれよ。

_ OutputStream

FileFishのファイルコピーのパフォーマンスが非常に悪い。

ローカルファイルのコピーで500KB毎秒はいくらなんでも悪すぎだろう。

で、調査していたのだが原因がわかった。

VFileクラスのgetOutputStream()メソッドで出力ストリームを取得すると、

得られたストリームは実はデコレーションパターンでラップされた

ストリームになっている。

これは、出力ストリームが閉じられたときにファイル監視マネージャーに

ファイルの更新を通知するためなのだが、このラップ用ストリームが

FilteredOutputStreamを継承していた。

これをBufferedOutputStreamに切り替えたところ、110メガのファイルが

19秒でコピーできた。

テストコードと比較してみると所要時間はほぼ変わらないので、

物理デバイスの限界は超えたようだ。

でもなんでこうなるんだろう?

コピーアクションのクラスもストリームをBufferedOutputStreamでラップしてるのに。

よくわからん。

本日のリンク元
アンテナ
その他のリンク元
検索