jcrocholl/pep8 — pull request #303 by rconradharris (2014-07-15 18:18:16+00:00)
Title: Add --skip-unmodified option

PEP8 can take an extremely long time to run on large codebases, for example,
taking 30 seconds to run against OpenStack Nova.

This patch introduces an optimization to avoid re-running the checks on files
that were previously passing and are yet unmodified.

This optimization is disabled by default, but can be enabled with the
`--skip-unmodified` command-line option.

Speedup seen against OpenStack Nova:

$ time pep8 .

real 0m29.412s
user 0m28.893s
sys 0m0.136s

$ time pep8 --skip-unmodified .
real 0m0.972s
user 0m0.782s
sys 0m0.103s

Filesystem extended attributes are used to efficiently store the previous
`mtime` with the file. This means, to use this feature, the `xattr` module
must be installed.