ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< エンコードって遅いのか。。。 | main | まとめ >>

スプーリング処理

リッピングの処理を速く終わらせるために、スレッドで動かしてみた。
リッピングしたら、データをPipedOutputStreamへ書き込み、それに関連づけしてあるPipedInputStreamを別のスレッドで読む。

予定では、今までとほぼ同じ時間で処理が終わるはず。


だが、結果は、ものすごく遅かった。なぜ?

調べた結果、PipedInputStreamのバッファサイズが1,024バイトしかないことが判明。しかもサイズは変えられない。


セクタは2,000バイト以上あるからバッファーはデータの半分しかない。

ほとんど、読み込み側の処理が終わるまで待ってるのといっしょだ。
しかも、読み込みは1バイトづつのループで読んでるに違いない。

そりゃ、時間かかるだろうよ。


うーん、スプールも作らないとダメだな。バッファーサイズを変更できるやつ。
しかも、読み込み側は、まとめて読めるやつ。

これができれば、少しは速くなるだろう。
プログラム・開発(CDリッピングツール) | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい