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)

Reply via email to