[ruby-dev:50600] [Ruby trunk Feature#14953][Closed] Add :wait option to RubyVM::MJIT.pause

From: takashikkbn@...
Date: 2018-07-31 10:09:03 UTC
List: ruby-dev #50600
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/

In This Thread

Prev Next