 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 NUMBER bytes after it s NUMBER bytes that s a NUMBER 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 