From: takashikkbn@... Date: 2018-07-31T10:09:03+00:00 Subject: [ruby-dev:50600] [Ruby trunk Feature#14953][Closed] Add :wait option to RubyVM::MJIT.pause Issue #14953 has been updated by k0kubun (Takashi Kokubun). Status changed from Open to Closed Wrongly created in ruby-dev... I'll re-create this on ruby-core. ---------------------------------------- Feature #14953: Add :wait option to RubyVM::MJIT.pause https://bugs.ruby-lang.org/issues/14953#change-73247 * Author: k0kubun (Takashi Kokubun) * Status: Closed * Priority: Normal * Assignee: * Target version: ---------------------------------------- ## Problem To measure an MJIT-generated code's performance, currently we need to do `sleep ...; RubyVM::MJIT.pause` and it's hard to decide an appropriate sleep seconds. ## Solution Add an :wait option (default: true) and: ~~~ ruby # Wait for finishing all of queued compilations, and pause MJIT worker (different from the current behavior). # This will be convenient for most of micro benchmarks. So I wanna make it default. It will be breaking but MJIT.pause is not released anywhere. RubyVM::MJIT.pause RubyVM::MJIT.pause(wait: true) # Wait only for a currently-compiled method, and pause MJIT worker immediately (the current behavior). # This will be convenient when there are many methods, like on Rails. RubyVM::MJIT.pause(wait: false) ~~~ -- https://bugs.ruby-lang.org/