mirror of https://github.com/python/cpython
gh-118518: Rename `PYTHONPERFJITSUPPORT` and `-X perfjit` with underscores (#118693)
This commit is contained in:
parent
48e52fe2c9
commit
04859228aa
|
@ -1250,10 +1250,10 @@ PyConfig
|
||||||
If non-zero, initialize the perf trampoline. See :ref:`perf_profiling`
|
If non-zero, initialize the perf trampoline. See :ref:`perf_profiling`
|
||||||
for more information.
|
for more information.
|
||||||
|
|
||||||
Set by :option:`-X perf <-X>` command line option and by the
|
Set by :option:`-X perf <-X>` command-line option and by the
|
||||||
:envvar:`PYTHONPERFSUPPORT` environment variable for perf support
|
:envvar:`PYTHON_PERF_JIT_SUPPORT` environment variable for perf support
|
||||||
with stack pointers and :option:`-X perfjit <-X>` command line option
|
with stack pointers and :option:`-X perf_jit <-X>` command-line option
|
||||||
and by the :envvar:`PYTHONPERFJITSUPPORT` environment variable for perf
|
and by the :envvar:`PYTHON_PERF_JIT_SUPPORT` environment variable for perf
|
||||||
support with DWARF JIT information.
|
support with DWARF JIT information.
|
||||||
|
|
||||||
Default: ``-1``.
|
Default: ``-1``.
|
||||||
|
|
|
@ -216,19 +216,19 @@ needs to generate unwinding information for every Python function call on the fl
|
||||||
``perf`` will take more time to process the data because it will need to use the DWARF debugging
|
``perf`` will take more time to process the data because it will need to use the DWARF debugging
|
||||||
information to unwind the stack and this is a slow process.
|
information to unwind the stack and this is a slow process.
|
||||||
|
|
||||||
To enable this mode, you can use the environment variable :envvar:`PYTHONPERFJITSUPPORT` or the
|
To enable this mode, you can use the environment variable :envvar:`PYTHON_PERF_JIT_SUPPORT` or the
|
||||||
:option:`-X perfjit <-X>` option, which will enable the JIT mode for the ``perf`` profiler.
|
:option:`-X perf_jit <-X>` option, which will enable the JIT mode for the ``perf`` profiler.
|
||||||
|
|
||||||
When using the perf JIT mode, you need an extra step before you can run ``perf report``. You need to
|
When using the perf JIT mode, you need an extra step before you can run ``perf report``. You need to
|
||||||
call the ``perf inject`` command to inject the JIT information into the ``perf.data`` file.
|
call the ``perf inject`` command to inject the JIT information into the ``perf.data`` file.
|
||||||
|
|
||||||
$ perf record -F 9999 -g --call-graph dwarf -o perf.data python -Xperfjit my_script.py
|
$ perf record -F 9999 -g --call-graph dwarf -o perf.data python -Xperf_jit my_script.py
|
||||||
$ perf inject -i perf.data --jit
|
$ perf inject -i perf.data --jit
|
||||||
$ perf report -g -i perf.data
|
$ perf report -g -i perf.data
|
||||||
|
|
||||||
or using the environment variable::
|
or using the environment variable::
|
||||||
|
|
||||||
$ PYTHONPERFJITSUPPORT=1 perf record -F 9999 -g --call-graph dwarf -o perf.data python my_script.py
|
$ PYTHON_PERF_JIT_SUPPORT=1 perf record -F 9999 -g --call-graph dwarf -o perf.data python my_script.py
|
||||||
$ perf inject -i perf.data --jit
|
$ perf inject -i perf.data --jit
|
||||||
$ perf report -g -i perf.data
|
$ perf report -g -i perf.data
|
||||||
|
|
||||||
|
|
|
@ -587,11 +587,11 @@ Miscellaneous options
|
||||||
|
|
||||||
.. versionadded:: 3.12
|
.. versionadded:: 3.12
|
||||||
|
|
||||||
* ``-X perfjit`` enables support for the Linux ``perf`` profiler with DWARF
|
* ``-X perf_jit`` enables support for the Linux ``perf`` profiler with DWARF
|
||||||
support. When this option is provided, the ``perf`` profiler will be able
|
support. When this option is provided, the ``perf`` profiler will be able
|
||||||
to report Python calls using DWARF ifnormation. This option is only available on
|
to report Python calls using DWARF information. This option is only available on
|
||||||
some platforms and will do nothing if is not supported on the current
|
some platforms and will do nothing if is not supported on the current
|
||||||
system. The default value is "off". See also :envvar:`PYTHONPERFJITSUPPORT`
|
system. The default value is "off". See also :envvar:`PYTHON_PERF_JIT_SUPPORT`
|
||||||
and :ref:`perf_profiling`.
|
and :ref:`perf_profiling`.
|
||||||
|
|
||||||
.. versionadded:: 3.13
|
.. versionadded:: 3.13
|
||||||
|
@ -1137,7 +1137,7 @@ conflict.
|
||||||
|
|
||||||
.. versionadded:: 3.12
|
.. versionadded:: 3.12
|
||||||
|
|
||||||
.. envvar:: PYTHONPERFJITSUPPORT
|
.. envvar:: PYTHON_PERF_JIT_SUPPORT
|
||||||
|
|
||||||
If this variable is set to a nonzero value, it enables support for
|
If this variable is set to a nonzero value, it enables support for
|
||||||
the Linux ``perf`` profiler so Python calls can be detected by it
|
the Linux ``perf`` profiler so Python calls can be detected by it
|
||||||
|
@ -1145,7 +1145,7 @@ conflict.
|
||||||
|
|
||||||
If set to ``0``, disable Linux ``perf`` profiler support.
|
If set to ``0``, disable Linux ``perf`` profiler support.
|
||||||
|
|
||||||
See also the :option:`-X perfjit <-X>` command-line option
|
See also the :option:`-X perf_jit <-X>` command-line option
|
||||||
and :ref:`perf_profiling`.
|
and :ref:`perf_profiling`.
|
||||||
|
|
||||||
.. versionadded:: 3.13
|
.. versionadded:: 3.13
|
||||||
|
|
|
@ -272,7 +272,7 @@ Other Language Changes
|
||||||
|
|
||||||
* Add :ref:`support for the perf profiler <perf_profiling>` working without
|
* Add :ref:`support for the perf profiler <perf_profiling>` working without
|
||||||
frame pointers through the new environment variable
|
frame pointers through the new environment variable
|
||||||
:envvar:`PYTHONPERFJITSUPPORT` and command-line option :option:`-X perfjit
|
:envvar:`PYTHON_PERF_JIT_SUPPORT` and command-line option :option:`-X perf_jit
|
||||||
<-X>` (Contributed by Pablo Galindo in :gh:`118518`.)
|
<-X>` (Contributed by Pablo Galindo in :gh:`118518`.)
|
||||||
|
|
||||||
* The new :envvar:`PYTHON_HISTORY` environment variable can be used to change
|
* The new :envvar:`PYTHON_HISTORY` environment variable can be used to change
|
||||||
|
|
|
@ -494,7 +494,7 @@ class TestPerfProfilerWithDwarf(unittest.TestCase, TestPerfProfilerMixin):
|
||||||
def run_perf(self, script_dir, script, activate_trampoline=True):
|
def run_perf(self, script_dir, script, activate_trampoline=True):
|
||||||
if activate_trampoline:
|
if activate_trampoline:
|
||||||
return run_perf(
|
return run_perf(
|
||||||
script_dir, sys.executable, "-Xperfjit", script, use_jit=True
|
script_dir, sys.executable, "-Xperf_jit", script, use_jit=True
|
||||||
)
|
)
|
||||||
return run_perf(script_dir, sys.executable, script, use_jit=True)
|
return run_perf(script_dir, sys.executable, script, use_jit=True)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Allow the Linux perf support to work without frame pointers using perf's
|
Allow the Linux perf support to work without frame pointers using perf's
|
||||||
advanced JIT support. The feature is activated when using the
|
advanced JIT support. The feature is activated when using the
|
||||||
``PYTHONPERFJITSUPPORT`` environment variable or when running Python with
|
``PYTHON_PERF_JIT_SUPPORT`` environment variable or when running Python with
|
||||||
``-Xperfjit``. Patch by Pablo Galindo
|
``-Xperf_jit``. Patch by Pablo Galindo.
|
||||||
|
|
|
@ -1703,7 +1703,7 @@ config_init_perf_profiling(PyConfig *config)
|
||||||
if (xoption) {
|
if (xoption) {
|
||||||
config->perf_profiling = 1;
|
config->perf_profiling = 1;
|
||||||
}
|
}
|
||||||
env = config_get_env(config, "PYTHONPERFJITSUPPORT");
|
env = config_get_env(config, "PYTHON_PERF_JIT_SUPPORT");
|
||||||
if (env) {
|
if (env) {
|
||||||
if (_Py_str_to_int(env, &active) != 0) {
|
if (_Py_str_to_int(env, &active) != 0) {
|
||||||
active = 0;
|
active = 0;
|
||||||
|
@ -1712,7 +1712,7 @@ config_init_perf_profiling(PyConfig *config)
|
||||||
config->perf_profiling = 2;
|
config->perf_profiling = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xoption = config_get_xoption(config, L"perfjit");
|
xoption = config_get_xoption(config, L"perf_jit");
|
||||||
if (xoption) {
|
if (xoption) {
|
||||||
config->perf_profiling = 2;
|
config->perf_profiling = 2;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2294,7 +2294,7 @@ sys_activate_stack_trampoline_impl(PyObject *module, const char *backend)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (strcmp(backend, "perfjit") == 0) {
|
else if (strcmp(backend, "perf_jit") == 0) {
|
||||||
_PyPerf_Callbacks cur_cb;
|
_PyPerf_Callbacks cur_cb;
|
||||||
_PyPerfTrampoline_GetCallbacks(&cur_cb);
|
_PyPerfTrampoline_GetCallbacks(&cur_cb);
|
||||||
if (cur_cb.write_state != _Py_perfmap_jit_callbacks.write_state) {
|
if (cur_cb.write_state != _Py_perfmap_jit_callbacks.write_state) {
|
||||||
|
|
Loading…
Reference in New Issue