RHG 読書会

では、改めて。

ミラクル・リナックス社まではファミマと日本テレビタワーを目印になんとか到着。

内容は色色あれど、
個人的にはアロケータが4byteのAlignでしかメモリを割り当てない仕組みになっていることを利用して、
下位3bitを使うことで「埋め込み」なのか「参照のためのアドレスなのか」を区別している点が面白いなあと思った。

故にデータを持つor示す値がunsigned longな点。

ミラクルリナックス会場で質問してたり発言してたのが 年かさの人ばかりというのはどうよ。 来てたのならいそぴーとかもっと積極的に発言せいw

http://www.kt.rim.or.jp/%7ekbk/zakkicho/08/zakkicho0801c.html#D20080127-1

会場で質問を考えていたんですが、思いつかず帰ってから思いつく始末orz.
思えばRubyのRObjectもろもろの仕組みに加え、
管理に興味があったのでありました。

道中でYuguiさんが、RObjectもろもろを管理しているのは
Ruby自身で、なおかつ固定長で連続した領域に確保しているのは、
「メモリ範囲でそれがRObjectたちなのかわかる」
「インデクスアクセスできる」
「メモリ管理の都合上、フラグメントなども起きず、キャッシュ面でも好都合」
ということがあったのだが、

実際のところ、
メモリを最初からどのくらい確保しているんだろう?
ということ。
使い方を考えるに有限のメモリであるのだから
いつかオブジェクトを管理する個数には限界がくる筈だが、
最初から「幾つ」という事を決めるのが難しい気がした。
途中で足りなくなった場合、mallocから貰うことはできるが、
メモリの連続性などは失われてしまうし、
それを確保するためにvectorのようにコピーしていたのでは何が何だかわからない気もする。(メモリを割り当てなおしたところに全てmemcpyする)
でも、vector式が確実?

……とと、もうちょっとちゃんとRubyを読み書きできないと
な感じに思いました。

前日にRuby構文について勉強しているとか、
ダメダメでした。

Yuguiさん、よしおかさん、ささださん、その他大勢の皆様方、
……読書会を開くのに尽力された方々、本当に有り難うございました。