Generator

Two counts of one run, and they cross in different places

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
Two counts of one run, and they cross in different places20,000 characters, patterns of 8, and both matchers returning identical occurrences at every point — checked against exhaustion on every build. The flat line is Aho-Corasick, which reads each position exactly once whatever the set size. The upper curve is the number of characters Commentz-Walter examines, which overtakes it at 8 patterns and reaches 2.45x it at 128. The lower curve is the number of distinct positions it ever looks at, which is below the line everywhere and reaches 95.6% of the text. One run, two counts, and a plate showing either one alone would answer the question. Both axes are logarithmic.11010010⁴patterns in the setcharactersAho-Corasick: 20,000, alwayscharacters examinedpositions ever readpatterns of 8 over four symbols · answers identicalcrossing at 8 patterns

Two counts of one run, and they cross in different places

20,000 characters, patterns of 8, and both matchers returning identical occurrences at every point — checked against exhaustion on every build. The flat line is Aho-Corasick, which reads each position exactly once whatever the set size. The upper curve is the number of characters Commentz-Walter examines, which overtakes it at 8 patterns and reaches 2.45x it at 128. The lower curve is the number of distinct positions it ever looks at, which is below the line everywhere and reaches 95.6% of the text. One run, two counts, and a plate showing either one alone would answer the question. Both axes are logarithmic.

Drawn at 700 × 430, wide on the page. Everything above is what matcher-set returns with no arguments; the caption is the generator's own, computed from the numbers in the drawing rather than written beside it.

2 essays call matcher-set. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about — which is what optcheck and figfill exist to catch.

Where it is called

Changing this generator changes every one of these figures.

The library, page 3 of 5 — where matcher-set sits