Fast and flexible packed string matching

Searching for all occurrences of a pattern in a text is a fundamental problem in computer science with applications in many other fields, like natural language processing, information retrieval and computational biology. In the last two decades a general trend has appeared trying to exploit the powe...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of discrete algorithms (Amsterdam, Netherlands) Ročník 28; s. 61 - 72
Hlavní autoři: Faro, Simone, Külekci, M. Oğuzhan
Médium: Journal Article
Jazyk:angličtina
Vydáno: Elsevier B.V 01.09.2014
Témata:
ISSN:1570-8667, 1570-8675
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Searching for all occurrences of a pattern in a text is a fundamental problem in computer science with applications in many other fields, like natural language processing, information retrieval and computational biology. In the last two decades a general trend has appeared trying to exploit the power of the word RAM model to speed-up the performances of classical string matching algorithms. In this model an algorithm operates on words of length w, grouping blocks of characters, and arithmetic and logic operations on the words take one unit of time. In this paper we use specialized word-size packed string matching instructions, based on the Intel streaming SIMD extensions (SSE) technology, to design a very fast string matching algorithm. We evaluate our solution in terms of efficiency, stability and flexibility, where we propose to use the deviation in running time of an algorithm on distinct equal length patterns as a measure of stability. From our experimental results it turns out that, despite their quadratic worst case time complexity, the new presented algorithm becomes the clear winner on the average in many cases, when compared against the most recent and effective algorithms known in literature. •A very fast algorithm based on specialized word-size packed string matching instructions.•The algorithm works using the Intel streaming SIMD extensions (SSE) technology.•We prove the effectiveness of our solution in terms of running times, stability and flexibility.•Our solution turns out to be the fastest algorithm for short patterns in the average case.•We conduct and discuss a wide series of experimental tests.
ISSN:1570-8667
1570-8675
DOI:10.1016/j.jda.2014.07.003