[SERVER-4445] aggregation: use a string table to reduce field name storage when using aggregation Created: 07/Dec/11  Updated: 08/Mar/13  Resolved: 27/Nov/12

Status: Closed
Project: Core Server
Component/s: Aggregation Framework
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Daniel Pasette (Inactive) Assignee: Mathias Stearn
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-4644 aggregation: optimize memory utilitz... Closed
is related to SERVER-447 new aggregation framework Closed
Participants:

 Description   

As an optimization, we can reduce the amount of allocated memory used by sharing the field name strings across all documents re-ified at the beginning of the aggregation pipeline. The string table can be put into the nascent ExpressionContext (we need to make sure that's available everywhere necessary). Every time we reify a document, use the strings in the string table, or add any missing ones.



 Comments   
Comment by Mathias Stearn [ 27/Nov/12 ]

Went in a different direction

Comment by Chris Westin [ 16/Mar/12 ]

This should fall out of SERVER-4644 for free. The table of references there will provide the necessary strings that will be fed to Value::createDocument() in order to determine which fields to copy.

Generated at Thu Feb 08 03:06:00 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.