ブックマーク / bn.dodgson.org (2)

  • MySQLPlus と NeverBlock

    前に Rails がマルチスレッドになっても MySQL のドライバとかがブロックしたらダメじゃないの? という話をちらっと書いた. やっぱりダメというのが結論らしい. MySQLplus は そんな問題に対処する rubyMySQL ドライバ拡張だというので眺めてみた. MySQLAPI がブロッキングで困るだなんて, まったく他人事には思えない. MySQL ドライバの API は基的にマルチスレッド+ブロッキングを前提とした設計をしており, 刺さりそうな場所は多い. 中でも一番困りそうなのは mysql_query() や mysql_real_query() だろう. ばしっとクエリーを投げて結果を受けとるこれらの API は, MySQL から返事が戻ってくるまでデータを待ち続ける. MySQL/Ruby もこの API を使っている. 普通に考えるとお手上げに見え

  • JIT on Tamarin Tracing - Backnumbers: Steps to Phantasien

    前回のつづき. 今日は JIT を眺めてみます. そのまえに少し補足. TT のコードはまだ登場したばかりで, じゃんじゃん書き変わっている. なのでここで書いている内容は早々古くなってしまう. どんな勢いで書き変わっているかというと, たとえば前回紹介した TT Forth の "SUPER:" は もうすぐ撤廃される. (該当bug.) かわりに fc.py が命令列の長さから半自動的に superword を生成するようになる. ついでに Interpreter.cpp に書かれていた IL プリミティブの実装 C++ コードが vm.fs のインラインに埋め込まれるようになる. (semantic aciton みたいなもんですね.) そんなわけなので, あとから照合して「全然違うじゃん!」と怒らないようにしてください > いつかぐぐってやってくる方々. Tracing Tree

  • 1