You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2022/06/16 09:05:00 UTC

[jira] [Resolved] (ARROW-16717) [C++] Enable Arrow to share an application's jemalloc instance

     [ https://issues.apache.org/jira/browse/ARROW-16717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Antoine Pitrou resolved ARROW-16717.
------------------------------------
    Fix Version/s: 9.0.0
       Resolution: Fixed

Issue resolved by pull request 13373
[https://github.com/apache/arrow/pull/13373]

> [C++] Enable Arrow to share an application's jemalloc instance
> --------------------------------------------------------------
>
>                 Key: ARROW-16717
>                 URL: https://issues.apache.org/jira/browse/ARROW-16717
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: C++
>    Affects Versions: 8.0.0
>            Reporter: Ian Cook
>            Assignee: Kouhei Sutou
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 9.0.0
>
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> Is there any good way for an application that uses Arrow to tell Arrow to share its own jemalloc instance?
> Normally when Arrow uses jemalloc, it creates its own instance of it. The only method that I think would work to get Arrow to use the same jemalloc instance as the application would be to do something hacky like this:
>  * Patch {{cpp/src/arrow/memory_pool.cc}} to use the application's jemalloc header
>  * Configure the application's jemalloc instance to use the same configuration that Arrow uses, as shown in {{je_arrow_malloc_conf}}
>  * Patch {{ThirdpartyToolchain.cmake}} to use the application's jemalloc instance
> Is there any non-hacky way to achieve this? If not, would it be possible to add a feature to Arrow to enable the user to tell it to use a specific jemalloc instance at runtime?
> The benefit of this would be that a unified jemalloc instance could (at least hypothetically) allocate memory more efficiently than two separate ones running on the same machine.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)