No, hits=-30.0 required=5.0
	tests=AWL,IN_REP_TO,KNOWN_MAILING_LIST,NOSPAM_INC,
	      QUOTED_EMAIL_TEXT,REFERENCES,REPLY_WITH_QUOTES,
	      SIGNATURE_SHORT_SPARSE,T_NONSENSE_FROM_40_50
	version=2.50-cvs

[Neale Pickett]
> I hacked up something to turn WordInfo into a tuple before pickling,
That's what WordInfo.__getstate__ does.
> and then turn the tuple back into WordInfo right after unpickling.
Likewise for WordInfo.__setstate__.
> Without this hack, my database was 21549056 bytes.  After, it's 9945088
bytes.
> That's a 50% savings, not a bad optimization.
I'm not sure what you're doing, but suspect you're storing individual
WordInfo pickles.  If so, most of the administrative pickle bloat is due to
that, and doesn't happen if you pickle an entire classifier instance
directly.
> So my question is, would it be too painful to ditch WordInfo in favor of
> a straight out tuple?  (Or list if you'd rather, although making it a
> tuple has the nice side-effect of forcing you to play nice with my
> DBDict class).
>
> I hope doing this sort of optimization isn't too far distant from the
> goal of this project, even though README.txt says it is :)
>
> Diff attached.  I'm not comfortable checking this in,
I think it's healthy that you're uncomfortable checking things in with
> +            # XXX: kludge kludge kludge.
comments <wink>.
> since I don't really like how it works (I'd rather just get rid of
WordInfo).
> But I guess it proves the point :)
I'm not interested in optimizing anything yet, and get many benefits from
the *ease* of working with utterly vanilla Python instance objects.  Lots of
code all over picks these apart for display and analysis purposes.  Very few
people have tried this code yet, and there are still many questions about it
(see, e.g., Jeremy's writeup of his disappointing first-time experiences
today).  Let's keep it as easy as possible to modify for now.  If you're
desparate to save memory, write a subclass?
Other people are free to vote in other directions, of course <wink>.

from localhost (localhost [127.0.0.1])
	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 44DA344114
	for <jm@localhost>; Mon, 19 Aug 2002 05:48:47 -0400 (EDT)
from phobos [127.0.0.1]
	by localhost with IMAP (fetchmail-5.9.0)
	for jm@localhost (single-drop); Mon, 19 Aug 2002 10:48:47 +0100 (IST)
from listman.spamassassin.taint.org (listman.spamassassin.taint.org [66.187.233.211]) by
    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g7H2b4615725 for
    <jm-exmh@jmason.org>; Sat, 17 Aug 2002 03:37:05 +0100
from listman.spamassassin.taint.org (localhost.localdomain [127.0.0.1]) by
    listman.redhat.com (Postfix) with ESMTP id 9FE2E3EA6A; Fri, 16 Aug 2002
    22:37:01 -0400 (EDT)
from int-mx1.corp.spamassassin.taint.org (int-mx1.corp.spamassassin.taint.org
    [172.16.52.254]) by listman.redhat.com (Postfix) with ESMTP id 081A63EA22
    for <exmh-users@listman.redhat.com>; Fri, 16 Aug 2002 22:36:06 -0400 (EDT)
(from mail@localhost) by int-mx1.corp.spamassassin.taint.org (8.11.6/8.11.6)
    id g7H2a3Z04557 for exmh-users@listman.redhat.com; Fri, 16 Aug 2002
    22:36:03 -0400
from mx1.spamassassin.taint.org (mx1.spamassassin.taint.org [172.16.48.31]) by
    int-mx1.corp.redhat.com (8.11.6/8.11.6) with SMTP id g7H2a3Y04553 for
    <exmh-users@redhat.com>; Fri, 16 Aug 2002 22:36:03 -0400
from smtp3.knology.net
    (IDENT:qmailr@user-24-214-63-13.knology.net [24.214.63.13]) by
    mx1.redhat.com (8.11.6/8.11.6) with SMTP id g7H2M4l07122 for
    <exmh-users@redhat.com>; Fri, 16 Aug 2002 22:22:04 -0400
from unknown (HELO grumpy.dyndns.org) (24.214.34.52) by
    smtp3.knology.net with SMTP; 17 Aug 2002 02:36:00 -0000
From exmh-users-admin@redhat.com  Mon Aug 19 10:56:54 2002