Uwe L. Korn created ARROW-464: --------------------------------- Summary: C++: More intelligent array growing Key: ARROW-464 URL: https://issues.apache.org/jira/browse/ARROW-464 Project: Apache Arrow Issue Type: Improvement Components: C++ Reporter: Uwe L. Korn Assignee: Uwe L. Korn
Two things to consider: * Instead of always growing the memory to twice the size in the Builders, we should consider 1.5 as a growth factor as this still leads to less memory wastage. As the allocation costly is mostly linear in the number of newly requested pages, this shouldn't be a noticeable impact. Due to memory below the size of a single page (i.e. 4KiB) not being able to be expanded in place, we should keep the factor of there. * In the case of jemalloc, we can ask the allocator with the function {{nallocx}} for the size it would actually allocate for the requested size and then allocate this as the new capacity for the Builder/Buffer/... and not trigger an reallocation as long as the output of {{nallocx}} doesn't change. -- This message was sent by Atlassian JIRA (v6.3.4#6332)