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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pylint takes almost two hours?! #215

Closed
inducer opened this issue Jul 27, 2023 · 6 comments 路 Fixed by #221
Closed

Pylint takes almost two hours?! #215

inducer opened this issue Jul 27, 2023 · 6 comments 路 Fixed by #221

Comments

@inducer
Copy link
Owner

inducer commented Jul 27, 2023

E.g. here: https://github.com/inducer/pytential/actions/runs/5675790498/job/15397715698

It's the longest-running of all the CI jobs. 馃 If it keeps this up, I might nuke it.

@alexfikl
Copy link
Collaborator

I just ran it locally with

time pylint --jobs=4 --recursive y --extension-pkg-whitelist=numpy --disable=all --enable=E --disable=E1136 --ignore=old_diffop_primitives.py,generalized_debye.py,waveguide.py --extension-pkg-whitelist=pytential.qbx.target_specific --enable=I0021 pytential examples test

91.07s user 6.76s system 390% cpu 25.081 total

No idea what might make it do that on the CI, but it is very funny 馃榿

@inducer
Copy link
Owner Author

inducer commented Jul 27, 2023

Maybe out of memory, like the rest of it?

@alexfikl
Copy link
Collaborator

Hm, it seems to take about 3-400MB per job on my machine (4 jobs total), so comfortably within CI limits..

As far as I can tell, pylint also doesn't keep any caches (besides some stats to show the previous run: X/Y +Z message) to make it faster locally. Very weird indeed :\

@inducer
Copy link
Owner Author

inducer commented Aug 1, 2023

3h is apparently not out of the question? 馃槺 #217 (comment)

@alexfikl
Copy link
Collaborator

alexfikl commented Aug 1, 2023

On Gitlab it seems to take the usual amount of time (with presumably the same library versions?)
https://gitlab.tiker.net/inducer/pytential/-/jobs/587163

@alexfikl
Copy link
Collaborator

alexfikl commented Sep 7, 2023

@inducer Following @matthiasdiener excellent point in inducer/grudge#317 (comment), I thought that maybe pytential is doing the same thing. That seems to indeed be the case! For the pylint run it gives (see log)

Sun, 27 Aug 2023 03:19:49 GMT +++ conda env create --file .test-conda-env-py3.yml --name testing --quiet
Sun, 27 Aug 2023 03:22:01 GMT Collecting package metadata (repodata.json): ...working... done
Sun, 27 Aug 2023 08:04:38 GMT Solving environment: ...working... done
Sun, 27 Aug 2023 08:05:12 GMT Preparing transaction: ...working... done
Sun, 27 Aug 2023 08:05:20 GMT Verifying transaction: ...working... done
Sun, 27 Aug 2023 08:05:33 GMT Executing transaction: ...working... done
Sun, 27 Aug 2023 08:05:38 GMT +++ conda install --quiet --yes pip

while for the standard pytest run it gives (see log)

Sun, 27 Aug 2023 03:20:02 GMT +++ conda env create --file .test-conda-env-py3.yml --name testing --quiet
Sun, 27 Aug 2023 03:22:42 GMT Collecting package metadata (repodata.json): ...working... done
Sun, 27 Aug 2023 03:24:45 GMT Solving environment: ...working... done
Sun, 27 Aug 2023 03:25:07 GMT Preparing transaction: ...working... done
Sun, 27 Aug 2023 03:25:13 GMT Verifying transaction: ...working... done
Sun, 27 Aug 2023 03:25:24 GMT Executing transaction: ...working... done
Sun, 27 Aug 2023 03:25:33 GMT +++ conda install --quiet --yes pip

So pretty much all of the runtime of the pylint one is taken by conda, not pylint :\

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants