From: sam.saffron@... Date: 2018-02-20T01:33:56+00:00 Subject: [ruby-core:85663] [Ruby trunk Feature#14491] MJIT needs internal debugging methods Issue #14491 has been updated by sam.saffron (Sam Saffron). Yes I ran with it during my testing and confirm jit-verbose helps somewhat. But compared to GC type instrumentation that is available in Ruby it is very awkward to consume. From a performance standpoint this is something we would definitely look at instrumenting in production if we ever used it and --jit-verbose is not something we could consume in production. I would say the most critical piece though is `MJIT.pause` cause I need to properly measure additional overhead that mjit introduces for non jitted methods. ---------------------------------------- Feature #14491: MJIT needs internal debugging methods https://bugs.ruby-lang.org/issues/14491#change-70454 * Author: sam.saffron (Sam Saffron) * Status: Feedback * Priority: Normal * Assignee: * Target version: ---------------------------------------- ### Issue Doing careful analysis of MJIT performance is very hard cause there is no way of instrumenting this in runtime ### Proposal 1. Add `MJIT.enable`, `MJIT.disable`, `MJIT.pause` methods. - `MJIT.pause` will continue using MJIT for execution but will no longer compile new fragments 2. Add `MJIT.trace` or similar that returns a block for key compile start / compile end operations. ``` MJIT.trace do |klass, method, line, operation, duration| end ``` This will allow simpler analysis of MJITs performance. -- https://bugs.ruby-lang.org/ Unsubscribe: