dictomaton

Introduction

This Java library implements dictionaries that are stored in finite state automata. Dictomaton has the following features:

Using Dictomaton

Dictomaton is in the Maven Central Repository:

<dependency>
    <groupId>eu.danieldk.dictomaton</groupId>
    <artifactId>dictomaton</artifactId>
    <version>1.1.1</version>
</dependency>

SBT:

libraryDependencies += "eu.danieldk.dictomaton" % "dictomaton" % "1.1.1"

Grails:

compile 'eu.danieldk.dictomaton:dictomaton:1.1.1'

Comparisons

The following table compares the sizes of the object graphs of the Dictionary type of this library to that of TreeSet and HashSet. The comparisons were obtained by storing all the words in the web2 and web2a dictionaries and were measured using memory-measurer

Data typeObjectsReferencescharintbooleanfloat
TreeSet936277187255531937496241843120910
HashSet9362771772657319374993627711
Dictionary411889454642416939703311

Benchmarks

Benchmarks are in a different test group than normal unit tests. You can run benchmarks via Maven, adding the Benchmarks group:

mvn test -Djunit.groups=eu.danieldk.dictomaton.categories.Benchmarks

Changelog

1.2.0

1.1.0

1.0.0

0.0.3

0.0.2

Release plan

Plans for 1.3.0: Perhaps an explicit, fast, and compact data storage format as an alternative to Java serialization. C or C++ version.

Contributors