There are some places in the code where we allocate many small strings from MemPool::TryAllocate(). The code is not particularly well optimised for this case. Specifically:
- We always realign to the default alignment even when alignment isn't required.
- The fast path through the code could be streamlined.
I noticed this while working on
IMPALA-5307 where I'm adding extra calls to allocate strings per-row.