-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
profile| Runs pylint against external code, generating profile-heatmaps #3498
profile| Runs pylint against external code, generating profile-heatmaps #3498
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice addition to the code base. I think we could also clone the local pylint repository at a fixed commit (maybe the 2.4.0 tag). This way we can launch this test without having access to the internet. Most pylint developpers should also have astroid in pylint/astroid/
(we advice to clone it in the pylint directory), so that would make another repository to test on without the need to download anything.
a1ad60e
to
b52b7f0
Compare
b52b7f0
to
588b0b8
Compare
Hey @AWhetter @PCManticore are you able to review this or shall I close the PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for taking so long to get around to this. I love the change! It'll make profiling much easier.
I've made a couple of suggested changes. Let me know what you think.
fc12676
to
7c73649
Compare
Hey could you re-up the svg? I was hoping to get an overview before I dig in |
Aha traction on all this stuff! Great stuff. Also thanks @brycepg for manually sorting out the other PR, it has been quite frustrating getting all these PRs sorted, and I lost motivation to contribute. The file is long gone I'm afraid, but here's an example run against test_pylint_runners: svg. Having kept the other one up for months, I'm not going to be able to keep this one up longer than a couple of weeks. That example was easy to gen on this branch (well my sept 1st rebased version anyway, I CBA to rebase again right the now). On this branch run:
If you want to run the numpy version (which wasn't working for me in 2.5), in your linux shell-like, run:
I would strongly recommend you run the command locally as since Pylint 2.5 (IIRC) something changed in astroid that caused a run against numpy to break, at least, that was the state of it last month. I am super interested to find out if running pylint against numpy works again and what caused the regression (sadface) in the astroid code. Finally, if this goes in, I may revisit some of my other patches looking at the mult-proc threading code performance which seems bottlenecked by astroid repeating work. |
For the sake of clarity. My current understanding is that running pylint against numpy is broken due to some regression in astroid/pylint and this PR shouldn't go in until that regression is fixed. Obviously, if this PR had gone in in April the regression would have likely been caught at point of merge. |
* Use https gitub uri so we do not need creditials * Shallow clone so we don't pull more data than we need * Ensure we skip external profiling unless explicitly wanted
7c73649
to
899156a
Compare
Whilst logging bug #3913 I spent a bit of time looking at where the regression came in, and it is on the dev branch only (👍) |
Sorry for the long delay, I did not see that you made the changes requested by @AWhetter ! Great merge request ! |
Steps
doc/whatsnew/<current release.rst>
.Description
Runs pylint against numpy and supports adding other external repos for testing.
Will generate a .svg in the .tox/prof. Here's an example:
https://pylint.s3.amazonaws.com/doublethefish/pylint/output.svg
Other considerations:
Type of Changes
Related Issue