Optimal packed string matching

Oren Ben-Kiki, Philip Bille, Dany Breslauer, Leszek Ga̧sieniec, Roberto Grossi, Oren Weimann

Research output: Chapter in Book/Report/Conference proceedingConference contribution

15 Scopus citations

Abstract

In the packed string matching problem, each machine word accommodates α characters, thus an n-character text occupies n/α memory words. We extend the Crochemore-Perrin constant-space O(n)-time string matching algorithm to run in optimal O(n/α) time and even in real-time, achieving a factor α speedup over traditional algorithms that examine each character individually. Our solution can be efficiently implemented, unlike prior theoretical packed string matching work. We adapt the standard RAM model and only use its AC0instructions (i.e., no multiplication) plus two specialized AC0packed string instructions. The main string-matching instruction is available in commodity processors (i.e., Intel's SSE4.2 and AVX Advanced String Operations); the other maximal-suffix instruction is only required during pattern preprocessing. In the absence of these two specialized instructions, we propose theoretically-efficient emulation using integer multiplication (not AC0) and table lookup.

Original languageEnglish (US)
Title of host publication31st International Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2011
Pages423-432
Number of pages10
DOIs
StatePublished - 2011
Externally publishedYes
Event31st International Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2011 - Mumbai, India
Duration: Dec 12 2011Dec 14 2011

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume13
ISSN (Print)1868-8969

Conference

Conference31st International Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2011
Country/TerritoryIndia
CityMumbai
Period12/12/1112/14/11

Keywords

  • Bit parallelism
  • Real time
  • Space efficiency
  • String matching

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Optimal packed string matching'. Together they form a unique fingerprint.

Cite this