d2cca846

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Mutation: skip the GRE lookup in headNameMatches when no names configured

The ignore filter runs headNameMatches on every expression in every
instrumented module.  With a non-empty name list it peels the head and
looks the name up in the GlobalRdrEnv; with an empty list (the common
case — no `ignore` configured) that work is wasted, since the candidates
are matched against `[]`.  Short-circuit the empty-list case so the
default config pays nothing per expression.  Behaviour is unchanged
(`any (`elem` []) ...` was already False).

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 3s 3s 3s 0s
Eval 3s 33s 33s 37s 0s
Build 16s 19s 11s 28s 0s
Suite 0s 55s 36s 37s 0s

Timeline

0s10s20s30s