Entries from 2008-07-01 to 1 month

クロージャ生成のコスト - パフォーマンスチューニング

ある手続きが重いので調べていた。 そこでは fold を使っていてその引数に渡している無名 lambda が重い原因だった。 その手続きが数十万回呼ばれるものだったのでクロージャも数十万回生成されて重いという。 グローバルなクロージャを定義しコストを抑えた…

世界にひとつしかない「黄金の人生設計」 - 橘玲

投資の勉強を始めてみようで野菜油さんから紹介いただいた世界にひとつしかない「黄金の人生設計」を読みました。 不動産の購入と、保険についてかなり詳しく否定的に書かれている内容で大変勉強になりました。多分この内容には反対意見がありそうなので違う…

FUTURE FOLDER - TRICERATOPS

ITMS でも購入可能。

本棚組み立て

楽天でスライド本棚を購入。組み立てに昨日と今日あわせて4時間位かかった。 文庫を並べて一望すると講談社・創元社・早川に大量のお布施をしていることが発覚。

OSX 10.5.3 に pgrep/pkill をインストールする

osx

proctools からproctools-0.4pre1.tar.gz をダウンロードする。 % cd proctools-0.4pre1 % CFLAGS="-I /Developer/SDKs/MacOSX10.4u.sdk/usr/include/"\ LDFLAGS="-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/" \ sudo bsdmake .MAIN install 追記 naoya_tさ…

どの append2 が遅いか?を原始的な方法で特定した

コンパイラ中の append2 呼び出しを append2a 〜 append2R に名前を変えただけ。作業時間は5分くらい。 プロファイラの結果によれば2カ所が遅い。本当に局所的なんですね。 18 260 229668 (append2R ls1 ls2) compiler-with-library.scm:5713 7 110 4 (lambd…

Wassr

Wassr [お気軽メッセージングハブ・ワッサー]。面白そうだと思い登録したがメールアドレス間違えて本登録メールが届かないっぽい。 うぎゃ。同じアカウントはもう使えないのか orz .. 完全に自分のミスだがサポートに問い合わせ中。 サポートから返事きた 返…

パフォーマンスマネージメント - ちゃんと計画している?

Java theory and practice: Performance management -- do you have a plan?の適当訳です。(一部訳を省略しています) パフォーマンスの問題は何に起因するだろうか?効率の悪いアルゴリズム、冗長な計算、非効率なデザインなどだろうか。 もっとありそうで…

ypsiron の VM のコードを読んでいたら

align とかちゃんと理解しないといかんな。どの程度の効果があるかさっぱり分からない。 #if USE_GCC_EXTENSION #if USE_DIRECT_THREAD volatile void* s_volatile_stub; #define PIN(tag) do { s_volatile_stub = &&tag; } while(0) #define CASE(code) M_#…

「カリスマ受験講師細野真宏の経済のニュースがよくわかる本 日本経済編」 その3

今日は終盤部分。「カリスマ受験講師細野真宏の経済のニュースがよくわかる本 日本経済編」読み終わりました。 明日から世界経済編です。以下メモ。 景気対策 減税による景気対策(理想) 減税する(国の手元に入るお金が減る) 会社や個人の手元に残るお金…

チューニング失敗ケース

2ヶ月くらい間を空けて、同じ失敗をしたので記録としてここに残す。 今の Mosh のプロファイラは強力で、遅い手続きの特定は簡単にできる。 これのおかげでチューニングはかなり楽になっているのだが、まだ人力でがんばらないといけない部分がある。 それは…

jump label のオフセット解決を C++ で書き直して高速化した

コンパイルした命令列は分岐による jump を含んでいる。 例えば JUMP <ref labelA> .... .... <labelA> のようなイメージ。コンパイルの最終フェーズでこれらのラベルの参照を命令列のオフセットに書き換える処理をしている。 JUMP 123 .... .... <先頭から123番目の場所> となる</labela></ref>…