タグ

system-callとqiitaに関するnabinnoのブックマーク (2)

  • Linuxでsystem callをhookしたい - Qiita

    イントロ 2013年の3月頃にこんな記事を書いたのを思い出したのだが、最近事情でまた動かしてみたら気づいたことがあったのでメモ。 「GNU ld の--no-as-neededと--as-neededオプションについて」 最初によくわかっている方向けの言い訳説明をしておくと、上記はLD_PRELOADを使って hook を行う場合に準備する shared object を作る際に使用するリンカ(GNU ld)の挙動がUbuntu 12.04 前後で若干変更され、ld の option 指定に注意が必要になったという話だった。当時は上記記事の例に書いた通りに動いていたのだが、どうも今は少し事情が変わっているらしいという話である。 まず、やりたいことはこの記事のタイトルの通りである。各種事情により、system call (やlibrary関数)の処理を入り口で横取り(hook)して動きを変え

    Linuxでsystem callをhookしたい - Qiita
  • Ruby でベンチマークを取る方法 - Qiita

    のように表示される。 bm メソッドの引数 10 は,「Nantoka」「Kantoka」というラベル部分に確保すべき桁数(文字数)だ。一番長いラベルの文字数にするか,ちょっと多めの値にしておけばいい。 結果の見方 数値の単位は秒だ。小数点以下 6 桁もあるが,有効数字はそんなにない。その件はあとでまた触れる。 でも user, system, total, real と四つもあって,一体どれを見たらいいの? 冒頭で「初心者向けの良い記事がない」と書いたのはこのこと。これらの数値の意味を書かなければしょうがないよね。 まず real からいこう。これは処理の開始から終了までの時間。経過時間とも言う。だから,CPU がぼーっとしていたり,他の仕事をやっている時間も含まれる。これは見なくていい。 なぜ real と呼ぶかというと,たぶん我々が暮らしているこの世界における現実の時間だからだろう。

    Ruby でベンチマークを取る方法 - Qiita
  • 1