Skip to content

jeanbern/portent

Repository files navigation

Portent

A highly optimized C# implementation of fuzzy word matching with a Directed Acyclic Word Graph.

For background, visit my blog: https://jbp.dev/blog/dawg-basics.html
Eventually there will be a host of content explaining the design decisions involved in creating the Dawg class.

  1. Performance enhancements in Lookup()
  2. Memory management in the Dawg() constructor
  3. Node ordering in PartitionedGraphBuilder.TopologicalSort()
  4. Reduction of allocations with custom SuggestItemCollections

This can be plugged into the previous implementation at https://github.com/jeanbern/Augury to provide word-prediction.

About

A highly optimized C# implementation of fuzzy word matching with a Directed Acyclic Word Graph.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published