Quickenshtein
Quickenshtein copied to clipboard
Making the quickest and most memory efficient implementation of Levenshtein Distance with SIMD and Threading support
Based on this tweet: https://mobile.twitter.com/badamczewski01/status/1273759277707132928 **Results** ``` | Method | Runtime | NumberOfCharacters | Mean | Error | StdDev | Ratio | Speedup | Worthiness | RatioSD | Code Size...
A few points: - Diagonal calculation isn't effective with its use of caching vector-sized strings, specifically the target vector which needs to be flipped. It flips it multiple times because...
Similar to how damageboy does in their [blog post for sorting](https://bits.houmus.org/2020-02-02/this-goes-to-eleven-pt5), it would be useful to track branch misses etc with the same tool - [`perf`, a program on Linux](https://perf.wiki.kernel.org/index.php/Tutorial)....
For example, use the [Concurrency Visualizer](https://docs.microsoft.com/en-us/visualstudio/profiling/concurrency-visualizer?view=vs-2019) extension to identify if there are any areas that can be improved. This is more a curiousity than anything - my own testing so...
See example: https://www.youtube.com/watch?v=DJVTtIjwZHE It looks like there could be a bunch of spots where this type of optimization might be able to help a great deal.
A proper "Speedup" column and a "Worthiness" column would be good additions in comparison to the baselines and Fastenshtein. See: https://github.com/damageboy/VxSort/commit/75b3e8d13fc02c3486fe72dbd0aca57fb1ff65e6 Example 
Simplifies how leftover data is processed. In some basic testing, it seems to perform better for small text (likely due to less code size needing to load up), about the...
Bumps [BenchmarkDotNet.Diagnostics.Windows](https://github.com/dotnet/BenchmarkDotNet) from 0.13.4 to 0.13.10. Release notes Sourced from BenchmarkDotNet.Diagnostics.Windows's releases. 0.13.10 Full changelog: https://benchmarkdotnet.org/changelog/v0.13.10.html Highlights Initial support of .NET 9 and minor bug fixes. Details In the v0.13.10...
Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.4 to 0.13.10. Release notes Sourced from BenchmarkDotNet's releases. 0.13.10 Full changelog: https://benchmarkdotnet.org/changelog/v0.13.10.html Highlights Initial support of .NET 9 and minor bug fixes. Details In the v0.13.10...
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.6.3 to 17.7.2. Release notes Sourced from Microsoft.NET.Test.Sdk's releases. v17.7.2 What's Changed Fix cannot find System.Text.Json by @nohwnd in microsoft/vstest#4669 Full Changelog: https://github.com/microsoft/vstest/compare/v17.7.1...v17.7.2 v17.7.1 What's Changed Take...