- 30 Dec, 2020 3 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 16 Oct, 2020 37 commits
-
-
Geoff Simmons authored
Currently to document the recent breaking changes and refactoring.
-
Geoff Simmons authored
The complexity analysis can be highly nuanced. Sets with many strings and/or long strings can in fact require more time for matching due to locality effects, which depends highly on usage patterns. Prefix matches can be longer for large sets since the depth of branching in the trie becomes larger. But these are considerations at the level of micro-optimization. It's the difference between two- or three-digit nanosecond mean times for the matches. So it suffices to claim that matching is fast and scales well.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
Benchmarks have shown that (collision buckets)/(set size) ranges from 10%-25%, so there's no need to tweak the hash table size.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
Implmentation-dependent stats are now described in an external document. Fix some VSC long-form documentation while we're here.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
We can now use the benchmarks to dump data structures. This can be done for both QP and PH, and is not limited by workspace or the varnishtest log buffer.
-
Geoff Simmons authored
-
Geoff Simmons authored
VCL failure is invoked if: - no entries were added to a set - a set was not compiled - .compile() is called in a VCL sub other than vcl_init - a numeric index is out of range (larger than nmembers) - the conditions for UNIQUE or EXACT fail - associated data to be retrieved (string, backend etc) was not added If .match() or .hasprefix() are called with a NULL subject, it is logged using tag Notice, but is not an error (return value is false). This is because it may or may not be intentional to attempt a match against an unset header. The .matched() method now may have a select argument, and works similarly to other methods with the f(INT n, ENUM select) signature, except that it returns false when the select condition fails, but does not invoke VCL failure. This makes it possible to check if UNIQUE or EXACT may be used, and avoid VCL failure if desired.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-