Mahlon E. Smith <mahlon@martini.nu> [Fri, 04 Nov 2011 20:34:28 -0700] rev 14
There isn't a fast way to look up ( value exists or null ) for every
piece of data that we're handed from squid -- a full table scan must be
performed for each request, regardless of any indexing in place. With
a decent number of rules, it's much, much slower than I anticipated,
making it fairly pointless to even do parsing in ragel for speed.
Trading some matching features (IPs, for now) for speed, and aiming at
just doing good host/path matching at the moment, using CDB for fast
host keying. Ripped out all the SQLite work, replacing it with a first
round of CDB lookups.
Added a ascii rulefile to cdb converter flag. Churning through the
requests again!
Also, fixed an off-by-one error with line extending.