Issue #14491 has been updated by k0kubun (Takashi Kokubun).

Status changed from Open to Feedback

> Measure how long it takes to JIT all methods (avg, median, max, total)
> Measure how many methods got JITted
> Measure slowest to JIT methods
> Report on methods that can not be JITted

Did you try --jit-verbose=1? It covers many of those use cases and parsing stderr with it would be sufficient for the use case.

----------------------------------------
Feature #14491: MJIT needs internal debugging methods
https://bugs.ruby-lang.org/issues/14491#change-70453

* 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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>