Regexps are slow.
When using ByLogialTableRouter we're only operating on small amount of names to be replaced by regular expression.
Adding cache can speed up this a lot.
Sample values for different regexps (time in msec, 10M iterations):
- without cache: 42091
- with: 150
- without: 10540
- with: 88