ファイル I/O を実行せずに、バイト ストリームを厳密に読み取ることなく、CPU プロファイリングのために圧縮タスクを繰り返し実行したいと考えています。これを Java で実行したい (私のベンチマークのターゲット)。
誰かがこれを行う方法を提案していますか? ZipEntry を使用する Zip API を使用しましたが、ZipEntry はファイル I/O をトリガーします。
提案やコードサンプルは大歓迎です。
ファイル I/O を実行せずに、バイト ストリームを厳密に読み取ることなく、CPU プロファイリングのために圧縮タスクを繰り返し実行したいと考えています。これを Java で実行したい (私のベンチマークのターゲット)。
誰かがこれを行う方法を提案していますか? ZipEntry を使用する Zip API を使用しましたが、ZipEntry はファイル I/O をトリガーします。
提案やコードサンプルは大歓迎です。
ZipEntry を使用する Zip API を使用しましたが、ZipEntry はファイル I/O をトリガーします。
ByteArrayOutputStream
基になる出力としてa を使用する場合、私はそれを期待しません:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zipStream = new ZipOutputStream(baos);
... write to zipStream ...
同様に、 からデータを読み取るByteArrayInputStream
ためにバイト配列をラップします。
もちろん、ZipOutputStream
zip 圧縮形式を使用してコンテンツを作成する場合は、これが適切です。これは、複数のファイルに適しています (または、少なくとも処理します:)。単一のデータ ストリームの場合は、 or を使用し、基になる出力として a を使用することもDeflaterOutputStream
できますGZIPOutputStream
。ByteArrayOutputStream
FileInputStream または FileOutputStream を使用する代わりに、ByteArrayInputStream および ByteArrayOutputStream を使用できます。