ひとり勉強会

ひとり楽しく勉強会

2007-04-01から1ヶ月間の記事一覧

来週から The Scala Programming Language の勉強会をはじめることにしました。

ほげめも

しょっちゅう頭が混乱するのでめも関数 に関して は、f を i 番目の引数で偏微分した関数。各点での軸方向の傾き は、。各点での傾きベクトル。 は、f が特に時間と位置と他の何かと…に関する関数の場合に意味があって、 みたいな位置に関する偏微分の組 た…

1.6.2 Systems with Rigid Constraints

剛体制約のある系(ある点とある点の距離は固定、みたいな制約がある系)の場合ラグランジアンはどうすればいいか。ちょうど自由度の分だけ次元のある一般座標系考えて、それで系を表現してやれば、この場合も L = T - V でおーけー。なぜか。例えば、下向き…

1.6 How to Find Lagrangians

ラグランジアンの見つけ方。前回は、実際に物理的に実現される運動が満たさなければならない方程式「オイラー・ラグランジュ方程式」を、ラグランジアンから導出しました。今回は、じゃあそもそもそのラグランジアンてどう用意するのかという話。どんな場合…

SICM読書会(3)

まとめ

はい。おしまいです。YARVソースコード勉強会第一部完です。さて次は何をやろうかなー。。。 Parrotを読む会 JRubyを読む会 とかいう前に、サボりすぎのSICM勉強会をなんとかしないとですねえ。うーん。

ブロッキング

スレッド実行中にI/Oなどシステム関係の操作で処理がブロックするときは、グローバルロックを解除します。YARVのスレッドモデルでは、そうしないと他のスレッドまで一斉に止まってしまうので。これは、ブロックする処理を実装した関数へのポインタを rb_thre…

スレッド切り替え

1個だけ実行するスレッドを、グローバルなMutexのロックという形で明示的に管理しているので、スレッドの切り替えの部分でもロックの取得/解放を明示的に実装することになります。これをやるのが rb_thread_schedule @ thread.c 関数。 void rb_thread_sche…

スレッド初期化

メインスレッド VMのメインスレッドに関する情報は、Init_VM 関数(2006-10-27 - ひとり勉強会)で記録されます。 Thread.new Thread.new による新規スレッド起動の流れを見ていきます。まず、Threadクラスの定義は Init_Thread @ thread.c です。 void Init…

スレッド概要

YARV のスレッドモデルの概略をつかむのには、yarv-dev や ruby-dev のささださんの投稿を参考にしました。 http://www.atdot.net/~ko1/w3ml/w3ml.cgi/yarv-dev/msg/631 [ruby-dev:30202] Re: YARV の thread について 今のところは、model 2、つまり「一つ…

YARVソースコード勉強会 (15)

コンパイラ編(PPT or PDF)に引き続き、VM編のまとめスライドを作りました。 第11回〜第15回まとめ PowerPoint 第11回〜第15回まとめ PDF というわけで、最終回です。今日はマルチスレッド周りのソースを読んでいきます。