noverify: Running on large codebase is not parallelised
This is the second run with -cache-dir
for the given coebase
time $GOPATH/bin/noverify -exclude='vendor/|lib/' -cache-dir=/tmp/noverify .
2020/01/11 00:31:31.928425 built on: 20200109230528 OS: Matthews-MacBook-Pro-2.local x86_64 Commit: 50e94a2865362c7fd73de7e24c4082e56abe2400
2020/01/11 00:31:31.928605 Started
2020/01/11 00:31:32.286324 Indexing [.]
2020/01/11 00:32:03.865122 Failed parsing <PATH>/vendor/composer/composer/tests/Composer/Test/Autoload/Fixtures/classmap/StripNoise.php: Empty root node
2020/01/11 00:32:17.675855 Linting
MAYBE phpdoc: Missing PHPDoc for "count" public method at <PATH>/base/Collection.php:59
public function count()
^^^^^
...
2020/01/11 00:33:04.622640 Found 159350 critical reports
real 1m32.775s
user 1m11.121s
sys 0m53.554s
The first error is wrong, btw (as are the vast majority of the 159,350). According to PHPDoc standards, the docblock for count
is assumed inherited from ArrayObject::count
.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 36 (24 by maintainers)
So with https://github.com/VKCOM/noverify/pull/335 (I replaced filepath.Walk with faster https://github.com/karrick/godirwalk Walk) you should theoretically see up to 10x improvement in directory traversal speed on Darwin. It didn’t affect times for the repository that I used but the pull request ensures that the directory traversal is not blocked by parsing any more and it uses much faster traversal code so if this doesn’t help I’m very curious to see the pprof.