Hatena::Grouperlang

weekend erlang programmer

ここの更新は止まってしまいました。面倒なので全部kuenishiの日記に書くことにしました。
 | 

{2009, 12, 6}

yatceもnifにしてみた 01:01 はてなブックマーク - yatceもnifにしてみた - weekend erlang programmer yatceもnifにしてみた - weekend erlang programmer のブックマークコメント

どうも、NIFがお手軽すぎてvostok92さんに先を越されてしまったkuenishiです。口惜しいので黙っていたのですが、vostok92さんもまだできていない(はずの)binaryの扱いが分かって強引に実装しちゃったので公開しました。詳しくはbitbucketのソースを見てください。といっても単純にterm_to_binaryしてきてenif_inspect_binaryかましてるだけです。この段階では多分まだBinaryは扱えないというか、Linkedin driverとかeiのような形でドライバを触らせないのかもしれません。というかR13B03からei.hがusr/includeに入ってないってことはなんか意図を感じてしまいますよね。

実は性能も測りつつあるのですが、Erlang分散システム勉強会までお楽しみということで。

以下、先月からの宿題。

  • dbを引数付きモジュール(オブジェクト)じゃなくて名前で参照
    • これはdevブランチでインターフェース変えてみたよ。
  • tcbdb, tchdb, tcfdbなど、個々のDBの実装
    • ペンディング。
  • トランザクション。トランザクションコンテキストとかややこしいことじゃないけど、ちゃんとラッパで動くのか、プロセスが切り替わったりしないよねとか。
    • mnesia:transaction/1はおすすめしないってerlang-questionsでも流れてたような…なにー!?って感じだけど。
  • TT vs Yatce+Erlangの性能比較(オーバーヘッドがどのくらいになるのか評価)
    • これはまだ手がついていないね。tcerlを倒さないことには手がつけられない。
  • Yatce vs tcerlの性能比較(スループットでは負けるけどレイテンシでは勝てることを期待)
    • これはやってみた。スループットもレイテンシも負けたよ。どう考えてもhash_mapを使ってるのが悪いと思う。
  • グローバル変数+リファレンスカウンタを使ったキモイSMP対応のlinkedin driver
    • これはNIFのおかげでふっとんだね。

そういえばotpの開発がgithub上で進められるようになったのですが、可視化されたマージツリーを見ていると現代の開発はすごいなぁと思って凹むばかりであります。ああやって個人が個性を発揮しながらものすごい速度でコードを書いていけるようになりたいなぁ。そういう世界で自分はどうなってしまうんだろう。

jj1bdxjj1bdx2009/12/09 21:12erlang-questions mailing listで紹介しておきました。
http://groups.google.com/group/erlang-programming/browse_thread/thread/66fd0458f47ff8a9

OTPの開発というか、あれはユーザの声を聞くには最高の方法ですよね。Commitするかどうかは自由に決めればいいんだし。私もgitまじめにやんないと。
http://www.k2r.org/kenji/blog/erlang/erlang-github.html

 |