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)