You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by pa...@apache.org on 2005/03/16 02:58:59 UTC

svn commit: r157625 - in spamassassin/trunk/masses/bayes-testing/benchmark: ./ corpus/ helper/ helper/db_file/ helper/mysql/ helper/pgsql/ helper/sdbm/ results/ tests/ tests/db_file/ tests/db_file/site/ tests/mysql/ tests/mysql/site/ tests/pgsql/ tests/pgsql/site/ tests/sdbm/ tests/sdbm/site/

Author: parker
Date: Tue Mar 15 17:58:52 2005
New Revision: 157625

URL: http://svn.apache.org/viewcvs?view=rev&rev=157625
Log:
bayes benchmark code

Added:
    spamassassin/trunk/masses/bayes-testing/benchmark/
    spamassassin/trunk/masses/bayes-testing/benchmark/README
    spamassassin/trunk/masses/bayes-testing/benchmark/corpus/
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/cleardb   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/dbsize   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/setup   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/cleardb   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/dbsize   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/delete.sql
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/show_table_status.sql
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/analyze.sql
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/cleardb   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/dbsize   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/delete.sql
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/cleardb   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/dbsize   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/setup   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/results/
    spamassassin/trunk/masses/bayes-testing/benchmark/run-bench   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/run-bench.driver   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/run-benches   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/runmbox.pl   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/runmulti.pl   (with props)
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/init.pre
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/local.cf
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/user_prefs
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/init.pre
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/local.cf
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/user_prefs
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/init.pre
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/local.cf
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/user_prefs
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/init.pre
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/local.cf
    spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/user_prefs

Added: spamassassin/trunk/masses/bayes-testing/benchmark/README
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/README?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/README (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/README Tue Mar 15 17:58:52 2005
@@ -0,0 +1,71 @@
+Here is a quick benchmark that I worked up to help test changes to the
+bayes storage system.  It also happens to work as a benchmark for
+other changes.  It requires that you install the code you wish to
+benchmark, but of course you're welcome to upgrade the scripts to make
+them more in-tree friendly.
+
+Quick Start:
+
+You need to install some perl modules:
+
+Mail::Box::Manager
+Proc::Background
+
+Feel free to rewrite the runmulti.pl and runmbox.pl code to get
+rid of those modules.  Maybe one day when Mail::SpamAssassin::Client
+gets finished this will be possible.
+
+Create 6 buckets for your mail (mbox files).  3 should be ham, 3
+should be spam.  They should be in rough date order (oldest in bucket
+1).  Name them hambucketX.mbox and spambucketX.mbox where X is the
+bucket number.
+
+I suggest at least 1000 messages per bucket, for sure it should not be
+less than 200, and maybe even 300 depending on how much autolearning
+happens in phase 2.
+
+Take hambucket1.mbox and copy the first half of the messages to
+hamforget1.mbox.  Do the same for spambucket1.mbox.
+
+Verify that the passwords and paths in the tests directories are
+valid/correct and look over the scripts in the helper directory,
+especially the username/passwords in the sql based helper scripts.
+
+run-bench db_file db_file.1
+
+This will create a results/db_file.1 directory and put all of the test
+data in that directory.
+
+You can tail -f results/db_file.1/output.txt to watch the test
+progress.
+
+More Detailed view:
+
+The benchmark consistes of several phases, normally between each phase
+there will be a sa-learn --dump magic, a database size check (if
+available) and an sa-learn --backup:
+
+Phase 1:
+  This is the learning phase, here we run sa-learn on hambucket1.mbox
+  and spambucket1.mbox, getting the timings for each.
+
+Phase 2:
+  This is the spamd scanning phase.  We startup a spamd and then
+  startup a forking script that throws all messages in hambucket2.mbox
+  and spambucket2.mbox at the daemon using spamc.
+
+  After this is done it does an sa-learn --sync and an
+  sa-learn --force-expire.
+
+Phase 3:
+  This is the forget phase.  We use sa-learn to forget all the
+  messages in hamforget1.mbox and then do it again for
+  spamforget1.mbox.
+
+Phase 4:
+  This is the spamassassin scan phase.  Here we scan the
+  hambucket3.mbox and then the spambucket3.mbox using the spamassassin
+  script.
+
+I suggest running each benchmark 3 times to make sure your test is not
+influenced by other system activities too much.
\ No newline at end of file

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/cleardb
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/cleardb?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/cleardb (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/cleardb Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DBDIR=$1/dbdir
+
+echo "[Removing DB_File bayes Database - $DBDIR/bayes*]"
+rm $DBDIR/bayes*

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/cleardb
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/dbsize
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/dbsize?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/dbsize (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/dbsize Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DBDIR=$1/dbdir
+
+echo "[Determining DB_File bayes database size - $DBDIR/bayes*]"
+ls -al $DBDIR/bayes*

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/dbsize
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/setup
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/setup?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/setup (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/setup Tue Mar 15 17:58:52 2005
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+BAYESPATH=$1/dbdir/bayes
+
+echo "[Replacing BAYESPATH in $1/site/local.cf file]"
+sed -i -e "s:@@BAYESPATH@@:$BAYESPATH:" $1/site/local.cf
+

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/db_file/setup
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/cleardb
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/cleardb?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/cleardb (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/cleardb Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DIRNAME=`dirname $0`
+
+echo "[Removing bayes database]"
+/usr/local/mysql4.1/bin/mysql -usauser -psapasswd spamassassin < $DIRNAME/delete.sql

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/cleardb
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/dbsize
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/dbsize?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/dbsize (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/dbsize Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DIRNAME=`dirname $0`
+
+echo "[Determining tables size for MySQL tables]"
+/usr/local/mysql4.1/bin/mysql -usauser -psapasswd spamassassin < $DIRNAME/show_table_status.sql

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/dbsize
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/delete.sql
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/delete.sql?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/delete.sql (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/delete.sql Tue Mar 15 17:58:52 2005
@@ -0,0 +1,7 @@
+delete from bayes_seen where id = (SELECT id FROM bayes_vars WHERE username = 'benchmark');
+optimize table bayes_seen;
+delete from bayes_token where id = (SELECT id FROM bayes_vars WHERE username = 'benchmark');
+optimize table bayes_token;
+delete from bayes_vars where username = 'benchmark';
+optimize table bayes_vars;
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/show_table_status.sql
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/show_table_status.sql?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/show_table_status.sql (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/mysql/show_table_status.sql Tue Mar 15 17:58:52 2005
@@ -0,0 +1,4 @@
+optimize table bayes_seen;
+optimize table bayes_token;
+optimize table bayes_vars;
+show table status;

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/analyze.sql
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/analyze.sql?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/analyze.sql (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/analyze.sql Tue Mar 15 17:58:52 2005
@@ -0,0 +1,4 @@
+vacuum full analyze bayes_seen;
+vacuum full analyze bayes_token;
+vacuum full analyze bayes_vars;
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/cleardb
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/cleardb?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/cleardb (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/cleardb Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DIRNAME=`dirname $0`
+
+echo "[Removing bayes database]"
+/usr/local/pgsql/bin/psql -U sapostgres -f $DIRNAME/delete.sql spamassassin

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/cleardb
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/dbsize
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/dbsize?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/dbsize (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/dbsize Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DIRNAME=`dirname $0`
+
+echo "[Determining tables size for pgsql tables]"
+/usr/local/pgsql/bin/psql -U sapostgres -f $DIRNAME/analyze.sql spamassassin

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/dbsize
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/delete.sql
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/delete.sql?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/delete.sql (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/pgsql/delete.sql Tue Mar 15 17:58:52 2005
@@ -0,0 +1,7 @@
+delete from bayes_seen where id = (SELECT id FROM bayes_vars WHERE username = 'benchmark');
+vacuum full analyze bayes_seen;
+delete from bayes_token where id = (SELECT id FROM bayes_vars WHERE username = 'benchmark');
+vacuum full analyze bayes_token;
+delete from bayes_vars where username = 'benchmark';
+vacuum full analyze bayes_vars;
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/cleardb
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/cleardb?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/cleardb (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/cleardb Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DBDIR=$1/dbdir
+
+echo "[Removing DB_File bayes Database - $DBDIR/bayes*]"
+rm $DBDIR/bayes*

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/cleardb
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/dbsize
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/dbsize?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/dbsize (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/dbsize Tue Mar 15 17:58:52 2005
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DBDIR=$1/dbdir
+
+echo "[Determining DB_File bayes database size - $DBDIR/bayes*]"
+ls -al $DBDIR/bayes*

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/dbsize
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/setup
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/setup?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/setup (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/setup Tue Mar 15 17:58:52 2005
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+BAYESPATH=$1/dbdir/bayes
+
+echo "[Replacing BAYESPATH in $1/site/local.cf file]"
+sed -i -e "s:@@BAYESPATH@@:$BAYESPATH:" $1/site/local.cf
+

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/helper/sdbm/setup
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/run-bench
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/run-bench?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/run-bench (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/run-bench Tue Mar 15 17:58:52 2005
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+TESTNAME=$1
+RESULTNAME=$2
+PROGNAME=`which $0`
+DIRNAME=`dirname $PROGNAME`
+
+RESULTSPATH=$DIRNAME/results/$RESULTNAME
+TESTSPATH=$DIRNAME/tests/$TESTNAME
+
+mkdir -p $RESULTSPATH
+
+cp -R $TESTSPATH/* $RESULTSPATH
+
+$DIRNAME/run-bench.driver $TESTNAME $RESULTSPATH > $RESULTSPATH/output.txt 2>&1
+
+

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/run-bench
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/run-bench.driver
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/run-bench.driver?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/run-bench.driver (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/run-bench.driver Tue Mar 15 17:58:52 2005
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+TESTNAME=$1
+RESULTSPATH=$2
+TIME=time
+PROGNAME=`which $0`
+DIRNAME=`dirname $PROGNAME`
+
+
+CORPUS=$DIRNAME/corpus
+HELPERPATH=$DIRNAME/helper/$TESTNAME
+TESTSPATH=$DIRNAME/tests/$TESTNAME
+
+USERPREFS=$RESULTSPATH/user_prefs
+SITECONFIG=$RESULTSPATH/site
+CONFIGPATH=$RESULTSPATH/share
+DBPATH=$RESULTSPATH/dbdir
+
+# Uncomment this variable if you want to override the system wide configpath
+#CONFIGPATHVALUE=--configpath=$CONFIGPATH
+
+
+$HELPERPATH/setup $RESULTSPATH
+
+$HELPERPATH/cleardb $RESULTSPATH
+
+echo "[Running sa-learn --ham on hambucket1.mbox]"
+$TIME /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --ham --mbox $CORPUS/hambucket1.mbox
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Running sa-learn --spam on spambucket1.mbox]"
+$TIME /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --spam --mbox $CORPUS/spambucket1.mbox
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Backing Up Bayes Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup1.txt
+
+echo "[Removing old spamd.log file]"
+rm $RESULTSPATH/spamd.log
+
+echo "[Starting up spamd]"
+/usr/bin/spamd -d -L $CONFIGPATHVALUE --siteconfigpath=$SITECONFIG -x --syslog=$RESULTSPATH/spamd.log --socketpath=/tmp/spamd.sock --pidfile=$RESULTSPATH/spamd.pid
+
+echo "[Sleeping a little to make sure spamd starts up]"
+sleep 10
+
+echo "[Running Bucket 2]"
+date
+#$TIME $DIRNAME/runmbox.pl $CORPUS/hambucket2.mbox $CORPUS/spambucket2.mbox
+$TIME $DIRNAME/runmulti.pl $CORPUS/hambucket2.mbox $CORPUS/spambucket2.mbox
+date
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Running Bayes sync]"
+$TIME /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --sync
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Backing Up Bayes Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup2.txt
+
+echo "[Running Bayes force-expire]"
+$TIME /usr/bin/sa-learn -D $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --force-expire
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Backing Up Bayes Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup3.txt
+
+echo "[Running sa-learn --forget on hamforget1.mbox]"
+$TIME /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --forget --mbox $CORPUS/hamforget1.mbox
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Running sa-learn --forget on spamforget1.mbox]"
+$TIME /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --forget --mbox $CORPUS/spamforget1.mbox
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Backing Up Bayes Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup4.txt
+
+echo "[Running spamassassin on hambucket3.mbox]"
+$TIME /usr/bin/spamassassin -L $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --mbox $CORPUS/hambucket3.mbox > /dev/null
+
+echo "[Running spamassassin on spambucket3.mbox]"
+$TIME /usr/bin/spamassassin -L $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --mbox $CORPUS/spambucket3.mbox > /dev/null
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Running Bayes sync]"
+$TIME /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --sync
+
+$HELPERPATH/dbsize $RESULTSPATH
+
+echo "[Dumping Bayes Magic Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
+
+echo "[Backing Up Bayes Tokens]"
+/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup5.txt
+
+echo "[Killing spamd]"
+kill `cat $RESULTSPATH/spamd.pid`

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/run-bench.driver
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/run-benches
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/run-benches?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/run-benches (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/run-benches Tue Mar 15 17:58:52 2005
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+/home/parker/bayesbench/run-bench db_file db_file.10
+/home/parker/bayesbench/run-bench db_file db_file.11
+/home/parker/bayesbench/run-bench db_file db_file.12
+
+
+

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/run-benches
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/runmbox.pl
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/runmbox.pl?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/runmbox.pl (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/runmbox.pl Tue Mar 15 17:58:52 2005
@@ -0,0 +1,26 @@
+#!/usr/bin/perl
+
+use Mail::Box::Manager;
+use File::Basename;
+
+my $foldername = shift;
+
+my $folderbasename = basename($foldername);
+
+my $mgr = Mail::Box::Manager->new;
+my $folder = $mgr->open(folder => $foldername,
+			access => 'r');
+my $nummsg = $folder->messages;
+
+my $count = 0;
+
+while ($count < $nummsg) {
+  my $msg = $folder->message($count);
+
+  open MAILOUT, "|/usr/bin/spamc -y -U /tmp/spamd.sock >> /dev/null" or
+#  open MAILOUT, "|/usr/bin/spamc -U /tmp/spamd.sock >> $folderbasename.output" or
+    die "Unable to open pipe: $!\n";
+  $msg->print(\*MAILOUT);
+  close MAILOUT;
+  $count++;
+}

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/runmbox.pl
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/runmulti.pl
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/runmulti.pl?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/runmulti.pl (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/runmulti.pl Tue Mar 15 17:58:52 2005
@@ -0,0 +1,23 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use Proc::Background;
+
+my $hamfoldername = shift;
+my $spamfoldername = shift;
+
+my $command = "./runmbox.pl";
+
+my $proc1 = Proc::Background->new($command, $hamfoldername);
+my $proc2 = Proc::Background->new($command, $spamfoldername);
+
+while ($proc1->alive() || $proc2->alive()) {
+    sleep 1;
+}
+my $time1 = $proc1->start_time;
+my $time2 = $proc1->end_time;
+my $time3 = $proc2->start_time;
+my $time4 = $proc2->end_time;
+print STDERR "Proc1: $time1 -- $time2\n";
+print STDERR "Proc2: $time3 -- $time4\n";

Propchange: spamassassin/trunk/masses/bayes-testing/benchmark/runmulti.pl
------------------------------------------------------------------------------
    svn:executable = *

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/init.pre
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/init.pre?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/init.pre (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/init.pre Tue Mar 15 17:58:52 2005
@@ -0,0 +1,3 @@
+# AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
+#
+loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/local.cf
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/local.cf?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/local.cf (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/site/local.cf Tue Mar 15 17:58:52 2005
@@ -0,0 +1,10 @@
+use_auto_whitelist 0
+
+bayes_auto_expire 0
+
+bayes_path @@BAYESPATH@@
+
+lock_method flock
+
+#bayes_auto_learn 0
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/user_prefs
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/user_prefs?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/user_prefs (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/db_file/user_prefs Tue Mar 15 17:58:52 2005
@@ -0,0 +1 @@
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/init.pre
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/init.pre?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/init.pre (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/init.pre Tue Mar 15 17:58:52 2005
@@ -0,0 +1,3 @@
+# AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
+#
+loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/local.cf
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/local.cf?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/local.cf (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/site/local.cf Tue Mar 15 17:58:52 2005
@@ -0,0 +1,13 @@
+use_auto_whitelist 0
+
+bayes_store_module                 Mail::SpamAssassin::BayesStore::SQL
+
+bayes_sql_dsn                      DBI:mysql:spamassassin:
+bayes_sql_username                 sauser
+bayes_sql_password                 sapasswd
+
+bayes_auto_expire 0
+
+bayes_sql_override_username benchmark
+
+#bayes_auto_learn 0

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/user_prefs
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/user_prefs?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/user_prefs (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/mysql/user_prefs Tue Mar 15 17:58:52 2005
@@ -0,0 +1 @@
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/init.pre
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/init.pre?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/init.pre (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/init.pre Tue Mar 15 17:58:52 2005
@@ -0,0 +1,3 @@
+# AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
+#
+loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/local.cf
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/local.cf?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/local.cf (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/site/local.cf Tue Mar 15 17:58:52 2005
@@ -0,0 +1,13 @@
+use_auto_whitelist 0
+
+bayes_store_module                 Mail::SpamAssassin::BayesStore::PgSQL
+
+bayes_sql_dsn                      DBI:Pg:dbname=spamassassin
+bayes_sql_username                 sapostgres
+bayes_sql_password		   sapasswd
+
+bayes_auto_expire 0
+
+bayes_sql_override_username benchmark
+
+#bayes_auto_learn 0

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/user_prefs
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/user_prefs?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/user_prefs (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/pgsql/user_prefs Tue Mar 15 17:58:52 2005
@@ -0,0 +1 @@
+

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/init.pre
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/init.pre?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/init.pre (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/init.pre Tue Mar 15 17:58:52 2005
@@ -0,0 +1,3 @@
+# AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
+#
+loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/local.cf
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/local.cf?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/local.cf (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/site/local.cf Tue Mar 15 17:58:52 2005
@@ -0,0 +1,11 @@
+bayes_store_module                 Mail::SpamAssassin::BayesStore::SDBM
+
+use_auto_whitelist 0
+
+bayes_auto_expire 0
+
+bayes_path @@BAYESPATH@@
+
+lock_method flock
+
+#bayes_auto_learn 0

Added: spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/user_prefs
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/user_prefs?view=auto&rev=157625
==============================================================================
--- spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/user_prefs (added)
+++ spamassassin/trunk/masses/bayes-testing/benchmark/tests/sdbm/user_prefs Tue Mar 15 17:58:52 2005
@@ -0,0 +1 @@
+