タグ

パフォーマンス計測に関するatm_09_tdのブックマーク (4)

  • iostat はどのように %util を算出しているか - ablog

    iostat の見方 - ablog Linux の iostat の出力結果を銀行のATMに例えて説明してみる - ablog の続編。Linux の iostat は %util がどう算出しているか調べてみた(途中)。 環境 History for iostat.c - sysstat/sysstat · GitHub を見てると、iostat は結構更新されてるので契約したてのさくらのVPSに入っているバージョンで調べてみることにした。 $ cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m $ uname -r 2.6.32-358.18.1.el6.x86_64 $ rpm -q sysstat sysstat-9.0.4-20.el6.x86_64 $ iostat -V sysstat version 9

    iostat はどのように %util を算出しているか - ablog
  • 実行中でのメモリ使用情報の取得 - 千里霧中

    前回のエントリに続いて、今回は実行中に自分自身のメモリ使用情報を取得する方法についてメモ。 検証、プロファイリング、メモリ容量に合わせたアルゴリズムの選択処理などを行うために、実行中に自分自身が使用しているメモリサイズやそのピークサイズを取得したい場合がある。 その実装手段はいくつかあるのだけれど、まず各OSごとのシステムコールを使うと取得できる場合がある。例えばlinuxだと、getrusage()を使用すると各種メモリ情報を取得できる。サンプルコードは以下の通り。 /** getrusage()を使った最大駐在ページサイズの取得と表示 */ void use_getrusage(void) { struct rusage r; if (getrusage(RUSAGE_SELF, &r) != 0) { /*Failure*/ } printf("maxrss=%ld\n", r.ru

    実行中でのメモリ使用情報の取得 - 千里霧中
  • JDKの時間計測まわりのコードを読んでみる - 虎塚

    ぐぬぬ。。。せっかくのご指名ですが。。。 JVMがOSごとにどの計時関数を呼び出すのかすら、自分はろくに知らないのです…無念だ。 でも、「ネタを振られたら全力で撃ち返せ」ってじっちゃが言ってた。 というわけで、最適化よりもずっと手前の話題、JVMの時間取得まわりのコードを眺めてみようと思います。 Systemクラスのソースコードを見ると public static native long currentTimeMillis(); と、native宣言されている。ここから先はネイティブの世界。VMの実装依存の世界でもある。 Javaパフォーマンス計測 そんなタイマーで大丈夫か? - プログラマーの脳みそ そですね。では、その世界を確認してみましょう。 ゴール Javaで時間計測を行った時に各OSで最終的に呼ばれるAPIとその精度について、JDKのソースコードおよびドキュメントを元に把握する。

    JDKの時間計測まわりのコードを読んでみる - 虎塚
  • Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ

    前回の文字列操作編では適当に文字列操作のパフォーマンスを測定しようとしたらGC様とJITコンパイラ様に阻まれた、という話だった。モヒカン族*1が「てめえの計測はなっちゃいねー!ひゃっはー!」と殴りかかったらケンシロウみたいなのが出てきて「あべしっ」となった、ぐらいのつまらない話だったが、反省してこれらと向かい合ってみたい。 JITコンパイラについての情報 JITコンパイラ(Just In Time compiler)とはインタープリタ方式のプログラム言語のランタイムが実行時に必要に応じて部分的にネイティブコード(CPUが直接実行できるマシン語)に変換することで高速化するというコンパイラである。もともとはもっと狭義のニュアンスだったが、今ではJITコンパイルとHotSpot動的コンパイルを併せて広義にJITコンパイル、それを実施する実態をJITコンパイラと呼んでいる感じだ。*2 ただ、やみく

    Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ
  • 1