«前の日記(2006-09-24) 最新 次の日記(2006-09-26)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2006-09-25 [長年日記]

_ カーネル読書会

kosakiさんが、YLUGのカーネル読書会でglibc mallocについて語られたらしい。 スライド[PPT]はさっそく眺めてみた。dlmallocってこんないろいろ工夫してたのね。 Rubyのメモリ管理も以前にいろいろ試してみたのだが、 結局小さなchunkはmallocですなおに管理するのが一番高速という結果が出たのは これらの工夫が原因なんだろうか。 でも、sweepで一気に解放するから、プレゼンの中で「苦手なパターン」と されているケースのような気がするんだけど。

Googleビデオも公開されているので、ぜひチェックしたい。 ビデオは時間がかかるのが難点なんだが。

_ [Ruby] ObjectView

私は今まで知らなかったんだけど『ObjectView』という雑誌があって、それのPDF版を(少し遅れて?)公開しているのだそうだ。

で、その第9号[PDF 2.2M]が Ruby特集なのだそうだ。

我らがレベッカたんも登場している(Rubyのことじゃないけど)。

_ ■コンピュータは人間を進化させるか■アラン・ケイ氏インタビュー

やっぱ、Alanって視点が人と違うよな。

我々が(私が)、今、目の前にあるツールをどう良くして、 自分がどう楽をするかってことを考えてる時に、 数百年後のことを考えている。

"Reinventing Computing"という彼の講演からの抜粋[英語]も興味深い。

_ svkとCVSの連携

ああ、そうか、VCPがCVSへのuploadをサポートしていない時点であきらめてしまったけど、 uploadだけcvs ciを使うという手があったよな。

考えてみれば、StGITを使った今の運用だって、そうしてるんだものな。

現在、私が利用しているStGITと上記のsvk+CVS連携の比較は以下の通り。

  • pull(sync)は結局CVSを使うのでおんなじ。 ただ、StGITは(私の運用方法では)手元のパッチを全部revertしてから 同期するのでこの時点では矛盾が発生しないのは嬉しいかも。
  • ローカルリポジトリの操作は、好みによる。 svkの方がいろいろできるが、StGITの方が(私には)わかりやすい。 特にStGITはブランチとか考えることなく、一連の変更をまとめて操作できるのは 個人的にありがたい。
  • pushもCVSを使うので同じ。私はスクリプトを書いたので いろいろ自動化されて便利(ChangeLogからのコミットログ切り出しとか)だが、 それはsvkを使っても似たようなことはできるだろう。

ま、結局、svkの操作とStGITの(というかQuiltの)操作のどちらが好みかということだろう。 先にも書いたが、私はStGIT派である。

本日のツッコミ(全4件) [ツッコミを入れる]
_ kosaki (2006-10-01 20:09)

sweepの件は当日もささださんにつっこまれました(^-^<br>当日は、じゃあRubyはささださんが独自アロケータを実装するということでw<br>という方向に流れましたが、よく考えるとmark & sweepなオブジェクトを次々にアクセスするGCが走っている時点でキャッシュミスは笑ってしまうぐらい大々的に発生しているので、いまさらちょっとぐらい増えても誤差ちゃう?という疑念が沸いています。<br>どうなんでしょうねぇ??

_ まつもと (2006-10-01 20:22)

そうですねえ。sweep中のfreeにかんしては、キャッシュミスについて考慮する必要はないでしょうね。markにビットマップを使うなどすれば別でしょうが。

_ hyoshiok (2006-10-01 22:54)

キャッシュミスおたくのわたしが来ましたよ。結論を出す前にoprofileでデータを取ってみましょう。<br>CPUを100%使い切った条件でメモリ関係のチューニングを上手にできれば10%くらいは性能向上できるんじゃないかと、根拠なく思いました。

_ hyoshiok (2006-10-02 22:15)

トラックバックさせていただきましたが、Rubyのキャッシュミスを測定しちゃいました。ベンチマークはtest/runner.rbでした。prefetchするだけで結構いけそうな感じです。(レイテンシー激減かな?)

お名前:
E-mail:
コメント:
[]

«前の日記(2006-09-24) 最新 次の日記(2006-09-26)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.