]> Sergey Matveev's repositories - public-inbox.git/commit
view: stop storing all MIME objects on large threads
authorEric Wong <e@80x24.org>
Tue, 8 Jan 2019 00:41:12 +0000 (00:41 +0000)
committerEric Wong <e@80x24.org>
Tue, 8 Jan 2019 00:43:14 +0000 (00:43 +0000)
commit7d02b9e64455831d3bda20cd2e64e0c15dc07df5
tree9a219098dd2ec77f6f1bdad520b7cc972e661533
parent081a425975a71c98d2a872ec592e0987e87bec7f
view: stop storing all MIME objects on large threads

While we try to discard the $smsg (SearchMsg) objects quickly,
they remain referenced via $node (SearchThread::Msg) objects,
which are stored forever in $ctx->{mapping} to cull redundant
words out of subjects in the thread skeleton.

This significantly cuts memory bloat with large search results
with '&x=t'.  Now, the search results overhead of
SearchThread::Msg and linked objects are stable at around 350K
instead of ~7M per response in a rough test (there's more
savings to be had in the same areas).

Several hundred kilobytes is still huge and a large per-client
cost; but it's far better than MEGABYTES per-client.
lib/PublicInbox/View.pm