Re:RE#: how we built the fastest regex engine in F#
by ieviev on Wednesday March 04, 2026 @03:44PM
(#47253514)
No, we do not lock reading the state, we only lock the creation side and the transition table reference stays valid during matching even if it is outdated.
Only when a nonexistent state is encountered during matching it enters the locked region.
But you also have to lock when reading the state, not just when writing/creating it. Wouldn’t that cause lock contention with sufficiently concurrent use?