-
-
Notifications
You must be signed in to change notification settings - Fork 39
Description
For e.g. https://github.com/jugmac00/flask-reuploaded (but also for my other projects), I notice an increased runtime for the checks.
The biggest jump was from version 0.40 to 0.41, but it looks like it is getting slower with each release...
I do run check-manifest via pre-commit, but I could also reproduce the problem with a standalone version of check-manifest.
I only had a quick look and looks like the pyproject.toml support could have introduced the degraded performance. The runtime difference between 0.45 and 0.46 can be hardly explained by the changelog.
no check-manifest
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
bandit...................................................................Passed
real 0m1,113s
user 0m1,760s
sys 0m0,245s
0.40
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
real 0m1,577s
0.41
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
real 0m4,366s
user 0m4,471s
sys 0m0,511s
0.42
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
real 0m4,401s
user 0m4,557s
sys 0m0,456s
0.43
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
real 0m4,743s
user 0m4,808s
sys 0m0,503s
0.44
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
0.45
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
real 0m8,464s
user 0m8,068s
sys 0m0,878s
0.46
❯ time pre-commit run --all-files
isort....................................................................Passed
Debug Statements (Python)................................................Passed
flake8...................................................................Passed
pyupgrade................................................................Passed
check-python-versions....................................................Passed
check-manifest...........................................................Passed
bandit...................................................................Passed
real 0m10,674s
user 0m10,093s
sys 0m1,118s
tests without pre-commit
0.40
❯ time check-manifest
lists of files in version control and sdist match
real 0m0,440s
user 0m0,388s
sys 0m0,055s
0.41
❯ time check-manifest
lists of files in version control and sdist match
real 0m3,311s
user 0m2,848s
sys 0m0,245s
0.45
❯ time check-manifest
lists of files in version control and sdist match
real 0m9,664s
user 0m8,324s
sys 0m0,812s
0.46
❯ time check-manifest
lists of files in version control and sdist match
real 0m10,041s
user 0m8,671s
sys 0m0,875s
So, the changelog maybe is not really complete - as even without using pre-commit there is a performance degradation between 0.45 and 0.46 which only changelog entry says pre-commit now uses Python 3.