Skip to main content

Practical optimizations for automata

  • Contributed Papers
  • Conference paper
  • First Online:
Automata Implementation (WIA 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1436))

Included in the following conference series:

Abstract

In a high performance finite automata implementation, a great deal of time is spent on cache misses. Additionally, when the transition labels are not simple letters, the implementation of a state's outtransitions is limited to ‘lists of transitions’ or ‘arrays of transitions’. In either case, still more time is spent on finding the appropriate outtransition for a given input symbol.

In this paper, we consider some ways to minimize these effects, using Ribbit's FIRE Engine II automata toolkit as the testbed. The optimizations considered include cache placement and transition list ordering. Some of the optimizations require information on the popularity of transitions within the automata (assuming ‘typical’ input strings). We also consider ways of obtaining the popularity information, such as: the structure of the regular expression from which the automaton was constructed and instrumenting the automaton to collect profiling information.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. (Addison-Wesley, Reading, MA, 1988).

    Google Scholar 

  2. Budd, T. Classic Data Structures in C++. (Addison-Wesley, Reading, MA, 1994).

    Google Scholar 

  3. Watson, B.W. Taxonomies and Toolkits of Regular Language Algorithms. (Ph.D dissertation, Eindhoven University of Technology, The Netherlands, 1995).

    Google Scholar 

  4. Wolfe, M. High Performance Compiler for Parallel Computing. (Addison-Wesley, Reading, MA, 1995).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Derick Wood Sheng Yu

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Watson, B.W. (1998). Practical optimizations for automata. In: Wood, D., Yu, S. (eds) Automata Implementation. WIA 1997. Lecture Notes in Computer Science, vol 1436. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031396

Download citation

  • DOI: https://doi.org/10.1007/BFb0031396

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64694-5

  • Online ISBN: 978-3-540-69104-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics