14. An article of manufacture comprising a computer readable storage medium having instructions encoded thereon that, when executed by a computing device, cause the computing device to perform operations comprising: (a) tokenizing one or more queries to generate an ordered sequence of query tokens for each query; (b) tokenizing one or more documents to generate an ordered sequence of document tokens for each document; (c) selecting an ordered sequence of document tokens from the tokenized one or more documents; (d) selecting an ordered sequence of query tokens from the tokenized one or more queries; (e) configuring a buffer to hold one or more subsequences of the selected ordered sequence of document tokens; (f) comparing the selected ordered sequence of query tokens to successive subsequences of the selected ordered sequence of document tokens in the configured buffer, wherein each of the successive subsequences and the selected ordered sequence of query tokens have the same length in tokens; (g) determining a match result based upon the comparison; and (h) updating one or more statistics based upon the determined match result, wherein the one or more statistics are stored in global memory, wherein the one or more statistics are updated asynchronously by two or more processes executing operations (a)-(g), and wherein each of the two or more processes performs operations (a)-(g) for at least one document and at least one query, including generating a first match result by the first process and a second match result by the second process, wherein the first match result and the second match result are combined as the determined match result.
14. An article of manufacture comprising a computer readable storage medium having instructions encoded thereon that, when executed by a computing device, cause the computing device to perform operations comprising: (a) tokenizing one or more queries to generate an ordered sequence of query tokens for each query; (b) tokenizing one or more documents to generate an ordered sequence of document tokens for each document; (c) selecting an ordered sequence of document tokens from the tokenized one or more documents; (d) selecting an ordered sequence of query tokens from the tokenized one or more queries; (e) configuring a buffer to hold one or more subsequences of the selected ordered sequence of document tokens; (f) comparing the selected ordered sequence of query tokens to successive subsequences of the selected ordered sequence of document tokens in the configured buffer, wherein each of the successive subsequences and the selected ordered sequence of query tokens have the same length in tokens; (g) determining a match result based upon the comparison; and (h) updating one or more statistics based upon the determined match result, wherein the one or more statistics are stored in global memory, wherein the one or more statistics are updated asynchronously by two or more processes executing operations (a)-(g), and wherein each of the two or more processes performs operations (a)-(g) for at least one document and at least one query, including generating a first match result by the first process and a second match result by the second process, wherein the first match result and the second match result are combined as the determined match result. 15. The article of manufacture of claim 14 , wherein configuring the buffer comprises: configuring the buffer as a first-in-first-out buffer to hold a number of tokens equal to a number of tokens in the selected ordered sequence of query tokens.