1. A method of detecting each occurrence of a plurality of patterns in an input stream, comprising: receiving an input stream; and transitioning between states of a compressed deterministic finite state automaton (DFA) associated with the plurality of patterns, at least some transitions based on multiple characters of the input stream.