最新(2013/12/26)のmod_mrubyとngx_mrubyのパフォーマンス

論文の執筆や発表の準備で最新のmrubyに追随できていなかったのですが、ようやくmod_mrubyngx_mrubyを最新版のmrubyに対応させました。対応した項目は以下となります。これでmrubyの最新版でも動くようになりました。

  • mrb_stateが持っていたirepテーブルの削除に対応(バイトコードのGC化)
  • symbol関連のAPI変更に対応
  • ARENAの持ち方を修正

パフォーマンス比較をするには良いタイミングなので、最新版のmod_mrubyngx_mrubyのパフォーマンスを計測しました。

続きを読む

mrubyの拡張モジュールであるmrbgemのテンプレートを自動で生成するmrbgem作った

本エントリはmruby advent calendar 2013 18日目の記事になります。

17日目はtsahara@githubさんによる「mruby で C 言語の構造体をラップしたオブジェクトを作る正しい方法」という素晴らしい記事でした。今回の話題はこの話にも少し絡むので、まるで内容を見透かされていた気分です。

続きを読む

我慢から学んだ事

このエントリでは久しぶりに日記のような記事を書こうと思う。なので、いつもの技術エントリはですます調だが今日は日記調に適当な感じでいこうと思う。

自分は、他人への配慮を踏まえた上で思った事は言うべきだと考えている人間だし、それを我慢して空気を読んだり間違っていると思っているのにその意見に迎合するのは好きではない。もちろん、自分の言った事が間違っていたら、それを認め謝らないといけない。僕はそういう間違いを恐れない議論が必要だと考えている人間だ。

しかし、そうやって生きてきてはいるが、「我慢する事」は自分にとって非常に大事だと思っている。いつでもなんでもどんな時でも、言いたい事を言うのも良いのだが、我慢することで得られる事もあるという事を、年末も近いし今日は自分を振り返りつつ書いてみようと思う。

続きを読む

簡単にApacheモジュールのプロファイルをとってみよう

ApacheモジュールはApache httpdに組み込んで使うために、いまいちモジュール単体のテストやプロファイルやデバッグがやりにくい印象があります。

デバッグに関しては以前gdbを使った方法を紹介しましたが、今回は色々あるプロファイラの中で比較的楽にプロファイルが得られるOProfileを使ったプロファイルの取り方を紹介したいと思います。非常に簡単です。

ちなみに、プロファイラをかます事で対象そのものに影響を大きく与えてはいけないという意味で、この話だけでも研究になりそうですが、あまり深入りし過ぎるとまた別の方向にいってしまいそうなので、今回はそういった精度よりもどれだけ簡単にできるかというところに重点を置いた方法を紹介したいと思います。

続きを読む