You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2010/06/16 01:05:02 UTC

svn commit: r955081 - in /spamassassin/trunk/lib/Mail/SpamAssassin: BayesStore/SQL.pm Plugin/Bayes.pm

Author: mmartinec
Date: Tue Jun 15 23:05:01 2010
New Revision: 955081

URL: http://svn.apache.org/viewvc?rev=955081&view=rev
Log:
tweaking timing instrumentation on bayes (bug 6444, bug 4400)

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Bayes.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm?rev=955081&r1=955080&r2=955081&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm Tue Jun 15 23:05:01 2010
@@ -129,6 +129,7 @@ sub tie_db_readonly {
   }
 
   my $main = $self->{bayes}->{main};
+  my $timer_tie_ro = $main->time_method('b_tie_ro');
 
   $self->read_db_configs();
 
@@ -176,6 +177,7 @@ sub tie_db_writable {
   }
 
   my $main = $self->{bayes}->{main};
+  my $timer_tie_rw = $main->time_method('b_tie_rw');
 
   $self->read_db_configs();
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Bayes.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Bayes.pm?rev=955081&r1=955080&r2=955081&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Bayes.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Bayes.pm Tue Jun 15 23:05:01 2010
@@ -666,15 +666,14 @@ sub scan {
 
   dbg("bayes: corpus size: nspam = $ns, nham = $nn");
 
-  my $msgdata = $self->_get_msgdata_from_permsgstatus ($permsgstatus);
-
   my $msgtokens;
   { my $timer = $self->{main}->time_method('b_tokenize');
+    my $msgdata = $self->_get_msgdata_from_permsgstatus ($permsgstatus);
     $msgtokens = $self->tokenize($msg, $msgdata);
   }
 
   my $tokensdata;
-  { my $timer = $self->{main}->time_method('b_tok_get');
+  { my $timer = $self->{main}->time_method('b_tok_get_all');
     $tokensdata = $self->{store}->tok_get_all(keys %{$msgtokens});
   }
   my %pw;
@@ -777,10 +776,12 @@ sub scan {
   # tokens and a score was returned
   # we don't really care about the return value here
 
-  { my $timer = $self->{main}->time_method('b_tok_touch');
+  { my $timer = $self->{main}->time_method('b_tok_touch_all');
     $self->{store}->tok_touch_all(\@touch_tokens, $msgatime);
   }
 
+  my $timer_finish = $self->{main}->time_method('b_finish');
+
   $permsgstatus->{bayes_nspam} = $ns;
   $permsgstatus->{bayes_nham} = $nn;
 
@@ -796,11 +797,15 @@ sub scan {
 					    });
 
 skip:
-  undef $timer_compute_prob;  # end a timing section if still running
   if (!defined $score) {
     dbg("bayes: not scoring message, returning undef");
   }
 
+  undef $timer_compute_prob;  # end a timing section if still running
+  if (!defined $timer_finish) {
+    $timer_finish = $self->{main}->time_method('b_finish');
+  }
+
   # Take any opportunistic actions we can take
   if ($self->{main}->{opportunistic_expire_check_only}) {
     # we're supposed to report on expiry only -- so do the