On Sun Oct 12 14:37:47 EDT 2014, st...@quintile.net wrote:
> I am fairly sure the problem is to do with RAM size rather than the raspberry 
> pi per-se.
> 4000 messages takes up a lot of space - and upas stores messages in RAM.

it's a little worse than this, actually.

since upas stores messages in mbox format, the whole file needs to be read or 
written on
update.  certainly one could optimize the read bit, but that would be difficult 
 this means
that the the whole mbox gets written to the dump every day, and you need about 
2x the
mailbox size ram for each upas/fs that is run.  this does not work out well for 
large mm
messages, or small ram boxes like the pi.

the solutions to this are straightforward
(1) store one message per file,
(2) cache important data in an index to avoid opening all files,
(3) avoid O(n²) startup time due to small hash table sizes and high load factor,
(4) load message data on demand so ram required is MAX(largest mm hunk, 10mb).

i currently have 1000 messages in my inbox, but i have used nupas with 45000 
messages.
some more work is necessary to handle a quarter million messages comfortably, 
as that's
too many for one directory.

nupas is just in /sys/src/cmd/upas on 9atom; the original is no more.

- erik

Reply via email to