Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf maps address format #103650

Closed
art049 opened this issue Apr 20, 2023 · 2 comments
Closed

perf maps address format #103650

art049 opened this issue Apr 20, 2023 · 2 comments
Labels
3.12 bugs and security fixes 3.13 bugs and security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) type-bug An unexpected behavior, bug, or error

Comments

@art049
Copy link
Contributor

art049 commented Apr 20, 2023

Bug report

As implemented by @pablogsal in #96123 we can now generate perf maps(which is awesome BTW).
Currently, perf maps are formatted this way:

0x58c5882 b py::<module>:/home/arthur/Projects/python-playground/dummy_script.py
0x58c588d b py::baz:/home/arthur/Projects/python-playground/dummy_script.py
0x58c5898 b py::bar:/home/arthur/Projects/python-playground/dummy_script.py
0x58c58a3 b py::foo:/home/arthur/Projects/python-playground/dummy_script.py

However, as per the perf maps interface specification it seems the address should not include the leading 0x.

Thus the perf map should look like this:

58c5882 b py::<module>:/home/arthur/Projects/python-playground/dummy_script.py
58c588d b py::baz:/home/arthur/Projects/python-playground/dummy_script.py
58c5898 b py::bar:/home/arthur/Projects/python-playground/dummy_script.py
58c58a3 b py::foo:/home/arthur/Projects/python-playground/dummy_script.py

Still, it works fine with perf but might not with other tools not handling this leading 0x.

Your environment

  • CPython versions tested on: 3.12.0a7
  • Operating system and architecture: Manjaro 22.1.0 x86_64

Linked PRs

@art049 art049 added the type-bug An unexpected behavior, bug, or error label Apr 20, 2023
@arhadthedev arhadthedev added 3.12 bugs and security fixes 3.13 bugs and security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) labels Apr 20, 2023
@terryjreedy
Copy link
Member

@pablogsal The perf doc says that perf map start addresses (as well as sizes) are hex numbers without '0x'. The implementation prints them with '0x'. Which is wrong? There is a PR to change the implementation.

@hauntsaninja
Copy link
Contributor

Closing since #103651 was merged

jbower-fb pushed a commit to jbower-fb/cpython-jbowerfb that referenced this issue May 8, 2023
carljm added a commit to carljm/cpython that referenced this issue May 9, 2023
* main: (47 commits)
  pythongh-97696 Remove unnecessary check for eager_start kwarg (python#104188)
  pythonGH-104308: socket.getnameinfo should release the GIL (python#104307)
  pythongh-104310: Add importlib.util.allowing_all_extensions() (pythongh-104311)
  pythongh-99113: A Per-Interpreter GIL! (pythongh-104210)
  pythonGH-104284: Fix documentation gettext build (python#104296)
  pythongh-89550: Buffer GzipFile.write to reduce execution time by ~15% (python#101251)
  pythongh-104223: Fix issues with inheriting from buffer classes (python#104227)
  pythongh-99108: fix typo in Modules/Setup (python#104293)
  pythonGH-104145: Use fully-qualified cross reference types for the bisect module (python#104172)
  pythongh-103193: Improve `getattr_static` test coverage (python#104286)
  Trim trailing whitespace and test on CI (python#104275)
  pythongh-102500: Remove mention of bytes shorthand (python#104281)
  pythongh-97696: Improve and fix documentation for asyncio eager tasks (python#104256)
  pythongh-99108: Replace SHA3 implementation HACL* version (python#103597)
  pythongh-104273: Remove redundant len() calls in argparse function (python#104274)
  pythongh-64660: Don't hardcode Argument Clinic return converter result variable name (python#104200)
  pythongh-104265 Disallow instantiation of `_csv.Reader` and `_csv.Writer` (python#104266)
  pythonGH-102613: Improve performance of `pathlib.Path.rglob()` (pythonGH-104244)
  pythongh-103650: Fix perf maps address format (python#103651)
  pythonGH-89812: Churn `pathlib.Path` methods (pythonGH-104243)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.12 bugs and security fixes 3.13 bugs and security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

4 participants