[ruby-core:88384] [Ruby trunk Feature#14954][Closed] Add :wait option to RubyVM::MJIT.pause

From: takashikkbn@...
Date: 2018-08-09 09:58:58 UTC
List: ruby-core #88384
Issue #14954 has been updated by k0kubun (Takashi Kokubun).

Status changed from Open to Closed

committed in r64250

----------------------------------------
Feature #14954: Add :wait option to RubyVM::MJIT.pause
https://bugs.ruby-lang.org/issues/14954#change-73431

* 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/

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next