asmのjavaバイトコード計測を使用して、特定のバイトコード(クラスファイル、元のコードで主な機能を持つ)ランタイムを測定する方法があるのだろうかと思っていました。asm Instrumantationを使用してJavaプログラムランタイムを測定する
対策は可能な限り正確で、可能な場合はナノ秒単位で行う必要があります。
おかげ
asmのjavaバイトコード計測を使用して、特定のバイトコード(クラスファイル、元のコードで主な機能を持つ)ランタイムを測定する方法があるのだろうかと思っていました。asm Instrumantationを使用してJavaプログラムランタイムを測定する
対策は可能な限り正確で、可能な場合はナノ秒単位で行う必要があります。
おかげ
は、System.nanoTimeの()などを追加することが測定されたコードのセクションに300ナノ秒以上が追加されますので注意して。
ASMでも可能ですが、あなたが望む結果は得られません。
このメソッドのパフォーマンステストを試したことがありますか?すなわち平均呼時間が何であったかを見るために2秒間呼出す。これは、あなたがそれを十分に長く呼んでも、ナノ秒に正確で安定です。
あなたはそれが何のために必要なのでしょうか? – khachik
さて、私は、特定のバイトコードを取得し、その上でいくつかの分析を行うプロジェクトに取り組んでいます。主な目標は、時間の経過とともにオブジェクトへのアクセスをトレースし、ヒートマップ上でそれを表現することです。 nanotimeを求めている理由は、ヒートマップ上ではるかによく見えるので、解像度は良くなり、プログラムのいくつかの「段階」を見極めることができます。 – RanZilber