• Max Kellermann's avatar
    tag: try not to reallocate tag.items in every add() call · 1aa34573
    Max Kellermann authored
    If many tag_items are added at once while the tag cache is being
    loaded, manage these items in a static fixed list, instead of
    reallocating the list with every newly created item.  This reduces
    heap fragmentation.
    
    Massif results again:
    
     mk before:  total 12,837,632; useful 10,626,383; extra 2,211,249
     mk now:     total 12,736,720; useful 10,626,383; extra 2,110,337
    
    The "useful" value is the same since this patch only changes the way
    we allocate the same amount of memory, but heap fragmentation was
    reduced by 5%.
    1aa34573
tag.h 2.38 KB