bitter-ability-32190
01/04/2022, 9:33 PMlint-per-file-process
use repository.pex
directly?bitter-ability-32190
01/04/2022, 9:35 PMhundreds-father-404
01/04/2022, 9:45 PMbitter-ability-32190
01/04/2022, 9:49 PMhundreds-father-404
01/04/2022, 9:50 PMbitter-ability-32190
01/04/2022, 9:52 PMbitter-ability-32190
01/04/2022, 9:53 PMrepository.pex
can be (and is) remotely cached between 2 disperate systemshundreds-father-404
01/04/2022, 10:00 PMI wonder ifĀ repository.pexĀ can be (and is) remotely cached between 2 disperate systemsRemote caching works awesome currently in CI, where you have multiple distinct machines but all with the same PATH and setup etc It doesn't work as well with desktop usage because systems tend to diverge in ways that invalidate the cache. https://github.com/pantsbuild/pants/issues/12203 tracks how we might improve that
witty-crayon-22786
01/04/2022, 10:10 PM2.9.0rc2
: see https://github.com/pantsbuild/requirements-perf/issues/2hundreds-father-404
01/04/2022, 10:12 PMwitty-crayon-22786
01/04/2022, 10:14 PMrepository.pex
should definitely be one. https://github.com/pantsbuild/pants/issues/14070bitter-ability-32190
01/04/2022, 10:29 PMwitty-crayon-22786
01/04/2022, 10:30 PMbitter-ability-32190
01/04/2022, 10:30 PMwitty-crayon-22786
01/04/2022, 10:31 PMbitter-ability-32190
01/04/2022, 10:33 PMbitter-ability-32190
01/06/2022, 5:39 PMrun-against-entire-lockfile
is possibly incorrectly implemented. That or pylint
just sucks. The more files I throw at it, the longer it takes w.r.t. turning it off.bitter-ability-32190
01/06/2022, 5:40 PMbitter-ability-32190
01/06/2022, 5:43 PMwitty-crayon-22786
01/06/2022, 5:43 PMwitty-crayon-22786
01/06/2022, 5:44 PMbitter-ability-32190
01/06/2022, 5:44 PMbitter-ability-32190
01/06/2022, 5:45 PMwitty-crayon-22786
01/06/2022, 5:45 PMrun-against-entire-lockfile
means materializing all of your requirements for each lint processbitter-ability-32190
01/06/2022, 5:45 PMwitty-crayon-22786
01/06/2022, 5:45 PMpylint
is actually consuming all of them�hundreds-father-404
01/06/2022, 5:45 PMbitter-ability-32190
01/06/2022, 5:46 PMwitty-crayon-22786
01/06/2022, 5:46 PMsetup_sandbox
witty-crayon-22786
01/06/2022, 5:46 PMbitter-ability-32190
01/06/2022, 5:46 PMwitty-crayon-22786
01/06/2022, 5:46 PMwitty-crayon-22786
01/06/2022, 5:48 PMbitter-ability-32190
01/06/2022, 5:50 PMbitter-ability-32190
01/06/2022, 5:51 PMmypy
will play too.
Otherwise, I know flake8
allows custom reporters, could implement one of those...witty-crayon-22786
01/06/2022, 5:52 PM@rule
is able to consume when the feature is enabled⦠weāll see how feasible that is.melodic-thailand-99227
01/06/2022, 8:48 PMwitty-crayon-22786
01/06/2022, 9:26 PM--pex-verbosity
setting (https://www.pantsbuild.org/docs/reference-pex#section-verbosity) can render what PEX is actually doing there⦠could try with 3
or so, and see if it highlights how time is being spent. but as mentioned, it should all just be time spent in pip.witty-crayon-22786
01/06/2022, 9:30 PMwitty-crayon-22786
01/06/2022, 9:35 PMbitter-ability-32190
01/07/2022, 3:37 PM-per-file-caching
.
E.g.
If I wanted to run fmt
with isort
and black
and I have a 64 core machine. Running with --black-args='-W 64' --isort-args='--jobs=64'
is always the fastest option.
Whereas with lint
(which runs in parallel) you probably want to take N cores and divide by M checkers... --black-args='-W 16' --isort-args='--jobs=16' --flake8-args='--jobs=16' --pylint-args='--jobs=16'
.
Depending on how long fixing the issue might take, it might be worth finding/writing clever little plugins to set the num jobs smartly based on CPU countbitter-ability-32190
01/07/2022, 3:40 PMwitty-crayon-22786
01/07/2022, 4:58 PMwitty-crayon-22786
01/07/2022, 4:59 PMbitter-ability-32190
01/07/2022, 5:04 PMbitter-ability-32190
01/07/2022, 5:11 PMwitty-crayon-22786
01/07/2022, 5:11 PMwitty-crayon-22786
01/07/2022, 5:16 PMbitter-ability-32190
01/07/2022, 5:18 PM