about summary refs log tree commit homepage
path: root/Documentation/technical
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-04-17 09:28:49 +0000
committerEric Wong <e@yhbt.net>2020-04-17 09:52:26 +0000
commitd0147582e289fdd4cdd84e91d8b0f8ae9c230124 (patch)
tree02d60802e4eef79bbbe7f9ca4a2210f2d3a07f28 /Documentation/technical
parentc23c96b1da7bfff3efe64ad415c0feb424d34559 (diff)
downloadpublic-inbox-d0147582e289fdd4cdd84e91d8b0f8ae9c230124.tar.gz
We can rid ourselves of a layer of indirection by subclassing
PublicInbox::Smsg instead of using a container object to hold
each $smsg.  Furthermore, the `{id}' vs. `{mid}' field name
confusion is eliminated.

This reduces the size of the $rootset passed to walk_thread by
around 15%, that is over 50K memory when rendering a /$INBOX/
landing page.
Diffstat (limited to 'Documentation/technical')
-rw-r--r--Documentation/technical/data_structures.txt8
1 files changed, 3 insertions, 5 deletions
diff --git a/Documentation/technical/data_structures.txt b/Documentation/technical/data_structures.txt
index 08dfc7ac..46d5acff 100644
--- a/Documentation/technical/data_structures.txt
+++ b/Documentation/technical/data_structures.txt
@@ -61,15 +61,13 @@ Per-message classes
   There may be hundreds or thousands of these objects in memory
   at-a-time, so fields are pruned if unneeded.
 
-* PublicInbox::SearchThread::Msg - container for message threading
+* PublicInbox::SearchThread::Msg - subclass of Smsg
   Common abbreviation: $cont or $node
   Used by: PublicInbox::WWW
 
-  The container we use for a non-recursive[1] variant of
+  The structure we use for a non-recursive[1] variant of
   JWZ's algorithm: <https://www.jwz.org/doc/threading.html>.
-  This holds a $smsg and is only used for message threading.
-  This wrapper class may go away in the future and handled
-  directly by PublicInbox::Smsg to save memory.
+  Nowadays, this is a re-blessed $smsg with additional fields.
 
   As with $smsg objects, there may be hundreds or thousands
   of these objects in memory at-a-time.