[ruby-core:94006] [Ruby master Feature#15963] Add *_start and *_running methods to VM_COLLECT_USAGE_DETAILS API
From:
ko1@...
Date:
2019-07-30 03:21:03 UTC
List:
ruby-core #94006
Issue #15963 has been updated by ko1 (Koichi Sasada).
Assignee set to ko1 (Koichi Sasada)
Please list new methods to discuss.
```
existing:
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_INSN_STOP", usage_analysis_insn_stop, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_OPERAND_STOP", usage_analysis_operand_stop, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_REGISTER_STOP", usage_analysis_register_stop, 0);
proposal:
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_INSN_START", usage_analysis_insn_start, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_OPERAND_START", usage_analysis_operand_start, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_REGISTER_START", usage_analysis_register_start, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_INSN_RUNNING", usage_analysis_insn_running, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_OPERAND_RUNNING", usage_analysis_operand_running, 0);
rb_define_singleton_method(rb_cRubyVM, "USAGE_ANALYSIS_REGISTER_RUNNING", usage_analysis_register_running, 0);
```
do you need `clear` methods?
----------------------------------------
Feature #15963: Add *_start and *_running methods to VM_COLLECT_USAGE_DETAILS API
https://bugs.ruby-lang.org/issues/15963#change-80228
* Author: gmcgibbon (Gannon McGibbon)
* Status: Open
* Priority: Normal
* Assignee: ko1 (Koichi Sasada)
* Target version:
----------------------------------------
I want to count how many VM instructions get executed for an arbitrary block of ruby code with `VM_COLLECT_USAGE_DETAILS` enabled. However, the current API enables VM usage detail collection immediately and only exposes methods to turn collection off.
I've issued a PR to add more methods to the VM usage details API and to disable collection by default: https://github.com/ruby/ruby/pull/2258
--
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>