You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`toStdRegex` and can generate very large expressions. Even if called on
an instance that is already a `StdRegex`. Created a new benchmark
"toStdRegex_output_length" to track this. The benchmark runs `toStdRegex`
on fixed dataset of 1000 regular expressions. The current implementation
can not get though all instances. On many instances there are
call-stack overflows, out-of-memory errors and non-termination.
A run on the first 500 (smaller) instances give the following result:
time : 5973 ms
avg. multiplier : 27
worst multiplier : 3127
Here avg. multiplier means that on average the output regex was 27 times
larger then the input regex. In the worst recorded case it was 3127 times
larger.
After changing the order in which `dfaToRegex` eliminates states from a
DFA, the benchmark on the first 500 instances improves to:
time : 1551 ms
avg. multiplier : 2
worst multiplier : 70
That's much better but we still don't get through all 1000 instances.
Result for the first 750 instances:
time : 3672 ms
avg. multiplier : 7
worst multiplier : 962
0 commit comments