タグ

javaとjmhに関するmsakamoto-sfのブックマーク (3)

  • jmhマイクロベンチマークツールを使ったByteBufferのバイトオーダによるパフォーマンスの違いの比較 - seraphyの日記

    (ヒープおよびダイレクトバッファによるByteBufferの性能差、およびUnsafeとのパフォーマンスも比較するよ!) (とりあえず計測結果を先に知りたい人は結論を見てね!) (ファイルのシーケンシャルリードを含むダイレクトバッファの使い方やパフォーマンス比較については次の日記に書きました。) 概要 思うところあって、ヒープ上のbyte[]をラップしたByteBufferと、ダイレクトバッファを確保しているByteBufferの場合とのint型としての連続アクセスした場合のパフォーマンスの違いについて調べてみることにした。 私の認識では、ダイレクトバッファへのアクセスは非ネイティブ側(つまりJavaコード側)からのアクセスではオーバヘッドが大きいため、特殊なシチュエーション以外では遅くなってしまうため、あまり使いどころのない機能だというものだったのだが、では、その使いどころとなる「特殊な

    jmhマイクロベンチマークツールを使ったByteBufferのバイトオーダによるパフォーマンスの違いの比較 - seraphyの日記
  • Javaのダイレクトバッファの利用上の注意点と、各種バッファを使った読み込みパフォーマンスの比較 - seraphyの日記

    概要 前回では、ヒープ上に確保したByteBufferと、ダイレクトバッファとして作成したByteBufferでのデータの読み取りパフォーマンスを比較した結果、圧倒的にダイレクトバッファが速いことが分かった。 しかし上記ベンチマークは、あえてByteBuffer単体でのパフォーマンスの比較を行ったものであり、実際のファイル入出力処理を含んだ比較ではない。 いわば、純粋なByteBufferの性能比較である。 では、実際にファイルの読み取りを含んだ場合でも、はたしてダイレクトバッファを使ったほうが速いのであろうか? 今回は、実際の利用方法を意識して、このあたりを調べてみることとする。 ヒープバッファとダイレクトバッファの違い ByteBufferには大きく分けて2種類がある。 ヒープ上の作成されるヒープバッファ ネイティブ領域に作成されるダイレクトバッファ ヒープバッファは以下のように作成さ

    Javaのダイレクトバッファの利用上の注意点と、各種バッファを使った読み込みパフォーマンスの比較 - seraphyの日記
  • Javaのマイクロベンチマークツール「JMH」 - Taste of Tech Topics

    ブログの読者の皆様方におかれましては、JavaのArrayListとLinkedListの 実装の違いにより性能に差があることは、当然のように熟知のことと存じあげます。 しかし! 実際にいかほどの差があるのか、それを数値で説明できるという方はどれほどいらっしゃるでしょうか。 いきなり丁寧語の煽りでスタートしました @cero_t です。 そう、今日のテーマはマイクロベンチマークです。 たとえば、 文字列を + で結合すると遅い。 ArrayListの初期化時にはサイズを指定したほうが良い。 ArrayListはループ処理が得意、LinkedListは途中の追加が得意。 など、よくあるパフォーマンスのプラクティスについては既に知っているという方も多いと思うのですが 実際に何倍ぐらいの差なのか(どれぐらいのオーダーの差なのか)を数値で話すことができるという方は、 あまり多くないように思います

    Javaのマイクロベンチマークツール「JMH」 - Taste of Tech Topics
  • 1