Skip to content

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

License

Notifications You must be signed in to change notification settings

jeanbern/portent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2423c09 · Jan 10, 2021

History

59 Commits
Jan 10, 2021
Sep 11, 2019
Oct 6, 2020
Oct 6, 2020
Oct 6, 2020
Jan 10, 2021
Oct 6, 2020
Nov 8, 2019
Oct 5, 2020
Nov 9, 2019
Nov 8, 2019
Oct 6, 2020
Oct 6, 2020
Oct 6, 2020
Sep 11, 2019
Apr 13, 2020

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