The API Automaton::Determinize accepts a timeout parameter.
- FWIW this parameter is in milliseconds. It would be nice to document that.
- The timeout is not propagated recursively when the call to
TryDecompose succeeds and d.Determinize() is called. So a regex consisting of a large disjunction exhibits exponential (?) behavior and the requested timeout is ignored.
I can open a PR if interested. The patch seems simple -- add the timeout to the recursive call.