Home > Uncategorized > Yesterday’s Discussions

Yesterday’s Discussions

学校に行くまで時間が空いたので昨日の事をつらつら。

0. DiskもMemoryもCPUもLinuxもglibcもlibstdc++もg++もboostも自分も信じられない。

定期的に陥る。特に次のような時。
- 言語処理系が落ちた時
- OSが吹っ飛びそうな負荷をかけた時
- 納期直前
要約すると同時期。

1. “nohup”コマンドの実装はどうなっているか?

ちゅんさんにdouble fork trickというのを教えてもらったのでそれかなと思っていたが、coreutilsのソースを読んでみると全然違った。
(その1) 子プロセスfork -> 孫プロセスfork -> 孫プロセスexecv -> 子プロセスexit (double fork trick)
(その2) signal(SIGHUP, SIG_IGN) -> execv (coreutils)
「no HUP」の名前の意味にはっと気づかされた。

2. 命令の依存関係は維持しつつも、Stallを減らしてかつDelay Slotを埋めるような最適な命令列並び替えアルゴリズム

近似解を得られそうなものをnuさんと頑張ってグラフを睨めっこしながら考案した。有名なアルゴリズムが有りそうなもんだが・・・。

3. インライン展開は諸刃の剣

大きい関数をインライン展開をすると命令数事態は減るが、キャッシュミス率が上がってしまい逆に性能が下がる。というのを肌で体感させられた。

4. Webのサムネイル生成プログラム

Ruby-Gnome2 + MozillaEmbeddedで作ってみたが、遅いし不安定。はてなスクリーンショットはどうやっているのかなと調べていたら「crenahtml2jpg」というソフトを外部コマンドで呼び出しているだけのようである。後は適当にサーバー化して(XMLRPCなりdRubyなり)、フロントエンドサーバーから叩けるようにしてあるんだろう。ちょっと興ざめ。

5. 寝れない

スケジューラー書いてたらこんな時間。

さて、今日はネットワークの授業。

Similar Posts:

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://kzk9.net/blog/2007/01/yesterdays_discussions.html/trackback
Listed below are links to weblogs that reference
Yesterday’s Discussions from moratorium

Home > Uncategorized > Yesterday’s Discussions

お薦め本
広告
Archives
Categories

Return to page top