別のキーワード
種類
- モジュール関数 (88)
- 文書 (47)
- インスタンスメソッド (11)
- 特異メソッド (11)
モジュール
- GC (22)
- ObjectSpace (88)
キーワード
-
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 7 . 0 (5) -
allocation
_ sourcefile (11) -
allocation
_ sourceline (11) -
define
_ finalizer (22) -
garbage
_ collect (22) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) -
trace
_ object _ allocations _ start (11) -
trace
_ object _ allocations _ stop (11) -
undefine
_ finalizer (11)
検索結果
先頭5件
-
ObjectSpace
. # trace _ object _ allocations _ start -> nil (27107.0) -
オブジェクト割り当てのトレースを開始します。
...オブジェクト割り当てのトレースを開始します。
@see ObjectSpace.#trace_object_allocations_stop... -
ObjectSpace
. # allocation _ sourcefile(object) -> String (21042.0) -
objectの元となったソースファイル名を返します。
...uby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "file:#{ObjectSpace::allocation_sourcefile(obj)}" # => file:test.rb
ObjectSpace::trace_object_allocations_stop
//}
@see ObjectSpace.#trace_object_allocations_start,
ObjectSpace.#trace_object_allocatio... -
ObjectSpace
. # allocation _ sourceline(object) -> Integer (21042.0) -
objectの元となったソースファイルの行番号を返します。
...][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "line:#{ObjectSpace::allocation_sourceline(obj)}" # => line:4
ObjectSpace::trace_object_allocations_stop
//}
@see ObjectSpace.#trace_object_allocations_start,
ObjectSpace.#trace_object_allocations_s... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (21036.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づけるため。そのオブジ......//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。
これは、スク......いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@see spec/rubycmd... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (21036.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づけるため。そのオブジ......//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。
これは、スク......いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start
# => baz
//}
@see spec/rubycmd... -
ObjectSpace
. # undefine _ finalizer(obj) -> object (21030.0) -
obj に対するファイナライザをすべて解除します。 obj を返します。
...ze"
}
end
def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end
def undef
ObjectSpace.undefine_finalizer(self)
end
end
Sample.new
GC.start
# => finalize
Sample.new
sample.undef
GC.start
# ※何も出力されない
//}
@see ObjectSpace.#define_finalizer... -
ObjectSpace
. # trace _ object _ allocations _ stop -> nil (21024.0) -
オブジェクト割り当てのトレースを終了します。
...オブジェクト割り当てのトレースを終了します。
トレースを終了する為には、ObjectSpace.#trace_object_allocations_startを呼んだ回数分だけこのメソッドを呼ぶ必要があります。
@see ObjectSpace.#trace_object_allocations_start... -
ObjectSpace
. # garbage _ collect(full _ mark: true , immediate _ sweep: true) -> nil (21022.0) -
どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。
...どこからも参照されなくなったオブジェクトを回収します。
GC.start と同じです。
@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。
@param immediate_sweep sweep を遅らせる......数は Ruby の実装やバージョンによって異なりま
す。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポー
トしていない場合はキーワード引数を指定しても無視される可能性があります。
@see GC.start... -
GC
. start(full _ mark: true , immediate _ sweep: true) -> nil (18113.0) -
ガーベージコレクトを開始します。
...ガーベージコレクトを開始します。
GC#garbage_collect や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合は何もしません。
nil を返します。
@param full_mark マイナー GC を動作させる場合は f......す。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポー
トしていない場合はキーワード引数を指定しても無視される可能性があります。
//emlist[例][ruby]{
GC.count # => 3
GC.start # => nil
GC.count # => 4
//}......ガーベージコレクトを開始します。
GC#garbage_collect や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。
nil を返します。
@param full_mark マイナー GC... -
NEWS for Ruby 2
. 1 . 0 (84.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...追加: ObjectSpace.#trace_object_allocations
* 追加: ObjectSpace.#trace_object_allocations_start
* 追加: ObjectSpace.#trace_object_allocations_stop
* 追加: ObjectSpace.#trace_object_allocations_clear
* 追加: ObjectSpace.#allocation_sourcefile
* 追加: ObjectSpace.#alloc......ion_sourceline
* 追加: ObjectSpace.#allocation_class_path
* 追加: ObjectSpace.#allocation_method_id
* 追加: ObjectSpace.#allocation_generation
* 追加: ObjectSpace.#reachable_objects_from_root
* 追加: ObjectSpace.#dump
* 追加: ObjectSpace.#dump_all
* OpenSSL::BN......部的なイベントをサポートしました:
* RUBY_INTERNAL_EVENT_NEWOBJ
* RUBY_INTERNAL_EVENT_FREEOBJ
* RUBY_INTERNAL_EVENT_GC_START
* RUBY_INTERNAL_EVENT_GC_END_MARK
* RUBY_INTERNAL_EVENT_GC_END_SWEEP
* 内部的なイベントを通常のイベントと同時に使...