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)

Most upvoted comments

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.