javascriptprofilingconfiguration-fileseslint

Which eslint rules in my config are slow?


I have a config with around 100 rules, and running eslint on my project with all these rules takes around 10 seconds. I'd like to identify the slowest rules and eliminate some of them. How do I do this? Is there any profiler tool for eslint?


Solution

  • 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.