[ruby-dev:39655] RVALUEからはみ出した領域の大きさに関して

View: New views
2 Messages — Rating Filter:   Alert me  

[ruby-dev:39655] RVALUEからはみ出した領域の大きさに関して

by Masanori OTA :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

現在rubyのGCに関して研究を行っている
東京工業大学大学院の太田眞敬といいます.

早速ですが,質問させていただきます.
現在RubyではRVALUEに格納しきれないオブジェクトはmallocで確保されると思い
ます.
そこでRuby全体として
mallocで確保された領域の大きさがどの程度あるのか?
mallocで確保されたオブジェクトが何個存在するのか?
を知る方法は言語として備わっているのでしょうか?
それとも備わっておらず自分でソースコードに変更を加えて自分で調べる必要が
あるのでしょうか?

もし備わっているのならば方法を教えていただきたいです.
よろしくお願いします.


[ruby-dev:39656] Re: RVALUEからはみ出した領域の大きさに関して

by SASADA Koichi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 ささだです.

Masanori OTA wrote::
> そこでRuby全体として
> mallocで確保された領域の大きさがどの程度あるのか?

 Ruby で知るのは無理です.

 ただし,xmalloc()/ruby_xmalloc() を使っているコードなら,
CALC_EXACT_MALLOC_SIZE というマクロを調べると幸せになれるかもしれません.

 また,glibc なら,mallinfo() という関数を調べると幸せになれるかもしれ
ません.

> mallocで確保されたオブジェクトが何個存在するのか?

 厳密には無理です.

 あと,trunk には ObjectSpace#memsize_of() というのが入ったので調べると
幸せになれるかもしれません.

> を知る方法は言語として備わっているのでしょうか?
> それとも備わっておらず自分でソースコードに変更を加えて自分で調べる必要が
> あるのでしょうか?

 ソースコードに変更を加えて自分で調べるのが,一番正確ではあります.

--
// SASADA Koichi at atdot dot net