Hi, all, It took me much longer than I anticipated to get this back-end to my performance target---comparable to the default DB_File or, when possible, faster.
Using the code in masses/bayes-test/benchmark, this back-end runs, overall, slightly faster than the DB_File code, and 3x faster than a default MySQL setup. Incidentally, if people have some simple tuning changes for MySQL, I'd be happy to have them so I could produce some more realistic numbers. I'm running this on an otherwise idle, unoccupied box, so I can tweak anything that seems appropriate to tweak. In the course of development and benchmarking, I've made a number of changes in that benchmark directory---from updating some config files so it works with recent versions to rewriting the runmbox.pl script to use ArchiveIterator instead of Mail::Box and allowing runmulti.pl to spawn more than just two jobs at a time (to, in theory, show the impact of concurrent access better). I am also trying to come up with a strategy for easily profiling the whole process using Devel::NYTProf---this has been invaluable in finding some of my performance issues. Anyway, I was thinking that I could submit those while doing a last pass over the BDB code itself. So I am assuming the process for all this is basically the same as for submitting new rules---add an entry in bugzilla, etc.? Cheers, Mike.
