The spatial and temporal locality of reference on which cache memory relies to minimize cache swaps, is exploited to design a new algorithm for finite automaton string recognition. It is shown that the algorithm, referred to as the Dynamic State Allocation algorithm outperforms the traditional table-driven algorithm for strings that tend to repeatedly access the same set of states, provided that the string is long enough to amortize the allocation cost. Further improvements on the algorithm result in even better performance.
['Ernest Ketcha Ngassam', 'Bruce W. Watson', 'Derrick G. Kourie']
DYNAMIC ALLOCATION OF FINITE AUTOMATA STATES FOR FAST STRING RECOGNITION