Current js scope reuse is based on the number of times used. I.e. a scope will be re-used 10 times, then thrown away. This is suboptimal for workloads that don't perform large scans.
Switching to a time based reuse strategy gives the same benefits as a low reuse count (limiting memory consumption and avoiding accumulating too much debris in the scopes), while improving performance for those more targeted workloads