Skip to content

pylint parallel processing not effective with single package argument #479

@pylint-bot

Description

@pylint-bot

Originally reported by: Pavel Roskin (BitBucket: pavel_roskin)


pylint --jobs=N is not benefiting user supplying a package as the argument, even if the package contains multiple Python sources.

Example:

$ git clone https://github.com/wbsoft/frescobaldi.git
$ cd frescobaldi
$ time find frescobaldi_app -name '*.py' | xargs pylint >/dev/null
real    0m43.313s
user    0m42.760s
sys     0m0.588s
$ time find frescobaldi_app -name '*.py' | xargs pylint --jobs=8 >/dev/null
real    0m13.574s
user    1m40.511s
sys     0m1.674s
$ time pylint frescobaldi_app >/dev/null
real    0m43.235s
user    0m42.795s
sys     0m0.472s
$ time pylint --jobs=8 frescobaldi_app >/dev/null
real    0m43.382s
user    0m42.834s
sys     0m0.614s

Only supplying both --jobs=8 and separate python sources cuts the runtime from 43 to 14 seconds. If the package is supplied on the command line, there is no win from --jobs=8.

I'm using an Intel i7 CPU with 4 cores / 8 threads of execution.


Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions