Which eslint rules in my config are slow?

eslint shows the spent times of rules if the environment variable TIMING is set. For example:

$ TIMING=1 eslint lib
Rule                         | Time (ms) | Relative
:----------------------------|----------:|--------:
valid-jsdoc                  |   203.798 |     6.7%
camelcase                    |   142.146 |     4.6%
no-unmodified-loop-condition |   136.811 |     4.5%
indent                       |   127.138 |     4.2%
no-undefined                 |   124.525 |     4.1%
keyword-spacing              |    85.397 |     2.8%
space-in-parens              |    76.179 |     2.5%
no-this-before-super         |    72.317 |     2.4%
no-implied-eval              |    69.945 |     2.3%
space-infix-ops              |    57.128 |     1.9%

See also the official docs on Per-rule Performance.


I found that removing slow rules didn't really help that much, as loading eslint and parsing files takes a while.

It is possible to use the --cache option of eslint (docs) to speed things up substantially.

When using eslint to "lint-as-you-type" in various editors, installing eslint_d allows running eslint as a daemon, and saves the node loading time.

On the project I'm currently working on, combining both eslint_d and --cache brought the linting time from 4+ seconds to 0.17!