You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2017/01/02 22:26:58 UTC

[jira] [Commented] (ARROW-360) C++: Add method to shrink PoolBuffer using realloc

    [ https://issues.apache.org/jira/browse/ARROW-360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15793613#comment-15793613 ] 

Wes McKinney commented on ARROW-360:
------------------------------------

Hm, sorta bad news: http://stackoverflow.com/questions/9078259/realloc-alignment. We should definitely permit shrinking the buffer, but if we want to guarantee aligned memory, then we have to allocate-copy.

What we could do is add a {{MemoryPool::Reallocate}} virtual function with a default implementation does does reallocate-copy, then an application which might less strict about memory alignment can choose to use realloc instead of {{posix_memalign}} plus {{memcpy}}.

> C++: Add method to shrink PoolBuffer using realloc
> --------------------------------------------------
>
>                 Key: ARROW-360
>                 URL: https://issues.apache.org/jira/browse/ARROW-360
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Uwe L. Korn
>            Assignee: Uwe L. Korn
>
> In the case where we have optimistically allocated a large PoolBuffer, we could shrink it later again using a call to {{realloc}}. This should free the exceeding memory but avoids an actual {{memcpy}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)