概要 前回では、ヒープ上に確保したByteBufferと、ダイレクトバッファとして作成したByteBufferでのデータの読み取りパフォーマンスを比較した結果、圧倒的にダイレクトバッファが速いことが分かった。 しかし上記ベンチマークは、あえてByteBuffer単体でのパフォーマンスの比較を行ったものであり、実際のファイル入出力処理を含んだ比較ではない。 いわば、純粋なByteBufferの性能比較である。 では、実際にファイルの読み取りを含んだ場合でも、はたしてダイレクトバッファを使ったほうが速いのであろうか? 今回は、実際の利用方法を意識して、このあたりを調べてみることとする。 ヒープバッファとダイレクトバッファの違い ByteBufferには大きく分けて2種類がある。 ヒープ上の作成されるヒープバッファ ネイティブ領域に作成されるダイレクトバッファ ヒープバッファは以下のように作成さ
![Javaのダイレクトバッファの利用上の注意点と、各種バッファを使った読み込みパフォーマンスの比較 - seraphyの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/648ab2bf8f8aacc4e5f0481df3f234506614f6d5/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fseraphy%2F20151121%2F20151121024641.png)