Krauss wildcard-matching algorithm: Difference between revisions

Content deleted Content added
 
(One intermediate revision by one other user not shown)
Line 2:
 
== History ==
The algorithm is based on a history of development, correctness and performance testing, and programmer feedback that began with an unsuccessful search for a reliable non-recursive algorithm for matching wildcards. An initial algorithm, implemented in a single while loop, quickly prompted comments from software developers, leading to improvements.<ref>{{cite magazine| |last=Krauss| |first=Kirk |date=August 26, 2008 |year= |title=Matching Wildcards: An Algorithm| magazine|url=[[Drhttp://www.drdobbs.com/architecture-and-design/matching-wildcards-an-algorithm/210200888 Dobb's Journal]]| yearurl-status=2008|dead |archive-url=httphttps://web.archive.org/web/20241204085600/https://www.drdobbs.com/architecture-and-design/matching-wildcards-an-algorithm/210200888 |archive-date=4 December 2024 |magazine=[[Dr. Dobb's Journal]]}}</ref> Ongoing comments and suggestions<ref>{{cite web| title=wild card searching| publisher=alt.os.development| year=2008| url=https://groups.google.com/forum/#!topic/alt.os.development/8-rIaarASu8}}</ref><ref>{{cite web| last=T.J.| title=wild card matching in text string| year=2014| publisher=Stack Overflow| url=https://stackoverflow.com/questions/21409588/wild-card-matching-in-text-string}}</ref> culminated in a revised algorithm still implemented in a single while loop but refined based on a collection of [[test case (software)|test case]]s and a [[profiling (computer programming)|performance profiler]].<ref>{{cite magazine| last=Krauss| first=Kirk| title=Matching Wildcards: An Empirical Way to Tame an Algorithm| magazine=[[Dr. Dobb's Journal]]| year=2014| url=http://www.drdobbs.com/architecture-and-design/matching-wildcards-an-empirical-way-to-t/240169123}}</ref> The experience tuning the single while loop using the profiler prompted development of a two-loop strategy that achieved further performance gains, particularly in situations involving empty input strings or input containing no wildcard characters.<ref>{{cite web| last=Krauss| first=Kirk| title=Matching Wildcards: An Improved Algorithm for Big Data| publisher=Develop for Performance| year=2018| url=http://www.developforperformance.com/MatchingWildcards_AnImprovedAlgorithmForBigData.html}}</ref> The two-loop algorithm is available for use by the [[open-source software]] development community, under the terms of the [[Apache License]] v. 2.0, and is accompanied by test case code.
 
== Usage ==