Commit 1c1ab67e authored by Geoff Simmons's avatar Geoff Simmons

Add the "ASCII prefix" worst-case test data for prefix matching.

parent 85b78c96
......@@ -298,3 +298,14 @@ backend response:
# Benchmark prefix matches against media types, with 10,000 iterations
$ ./bench_qp -m p -i mediatypes.txt -n 10000 compressible.txt
```
`asciipfx.txt` contains all of the ordered sequences of the printable
ASCII characters from length 1 to 95. This is a worst-case test for
prefix matching, as all of the strings in the set have common
prefixes. The trie has no fanout, instead forming a linear structure
of depth 95. `asciipfx_input.txt` contains test input.
```
# Worst-case test for prefix matching
$ ./bench_qp -m p -i asciipfx_input.txt asciipfx.txt
```
!
!"
!"#
!"#$
!"#$%
!"#$%&
!"#$%&'
!"#$%&'(
!"#$%&'()
!"#$%&'()*
!"#$%&'()*+
!"#$%&'()*+,
!"#$%&'()*+,-
!"#$%&'()*+,-.
!"#$%&'()*+,-./
!"#$%&'()*+,-./0
!"#$%&'()*+,-./01
!"#$%&'()*+,-./012
!"#$%&'()*+,-./0123
!"#$%&'()*+,-./01234
!"#$%&'()*+,-./012345
!"#$%&'()*+,-./0123456
!"#$%&'()*+,-./01234567
!"#$%&'()*+,-./012345678
!"#$%&'()*+,-./0123456789
!"#$%&'()*+,-./0123456789:
!"#$%&'()*+,-./0123456789:;
!"#$%&'()*+,-./0123456789:;<
!"#$%&'()*+,-./0123456789:;<=
!"#$%&'()*+,-./0123456789:;<=>
!"#$%&'()*+,-./0123456789:;<=>?
!"#$%&'()*+,-./0123456789:;<=>?@
!"#$%&'()*+,-./0123456789:;<=>?@A
!"#$%&'()*+,-./0123456789:;<=>?@AB
!"#$%&'()*+,-./0123456789:;<=>?@ABC
!"#$%&'()*+,-./0123456789:;<=>?@ABCD
!"#$%&'()*+,-./0123456789:;<=>?@ABCDE
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEF
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment