|
From: Michael S. <Mic...@lr...> - 2007-02-28 15:09:10
|
On Wed, 28 Feb 2007, Lionel Bouton wrote: > Michael Storz wrote the following on 22.02.2007 10:16 : > > Hi Dan and Lionel, > > > > the last days I was thinking about the performance impact of implementing > > a strict versus a loose expiration time. At the moment, Sqlgrey uses a > > mixed implementation, the is_in_* subroutines use a strict implementation, > > whereas the count subroutines use a loose implementation. > > > > strict means, every select has a condition in the where-clause which > > results in returning only active entries from a table. > > > > loose means, there is no such condition in the where-clause. Expiration is > > handled only by deleting expired entries from a table via a cleanup > > subroutine. > > > > strict seems better to me. It didn't seem to matter much when I coded > the loose count subroutines, but looking back on the code I don't like > the fact that db_cleandelay has an impact on the auto-whitelist behaviour. > > I vote for the "strict" behaviour. > > Lionel > How about this: I think, I would able to deliver a patch which decides at compile/parse-time if a loose or strict implementation will be used (this means code for the other possibility will be eliminated at parse time). This could be triggered by a commandline flag. Default would be strict. But before I'll do this I have to test if there is any noticeable speed advantage of having a loose implementation (and this needs some time). Michael Storz -- ====================================================== Leibniz-Rechenzentrum | <mailto:St...@lr...> Boltzmannstr. 1 | Fax: +49 89 35831-9700 85748 Garching / Germany | Tel: +49 89 35831-8840 ====================================================== |