You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Tim Armstrong (Jira)" <ji...@apache.org> on 2020/02/21 20:39:00 UTC
[jira] [Commented] (IMPALA-9382) Improve memory efficiency of
RuntimeProfile objects
[ https://issues.apache.org/jira/browse/IMPALA-9382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17042159#comment-17042159 ]
Tim Armstrong commented on IMPALA-9382:
---------------------------------------
Using the C++11 ABI may help a little here, since strings of <= 15 bytes don't get allocated on the heap: https://shaharmike.com/cpp/std-string/. A lot of profile counter names are less than this size. Although many are also larger.
> Improve memory efficiency of RuntimeProfile objects
> ---------------------------------------------------
>
> Key: IMPALA-9382
> URL: https://issues.apache.org/jira/browse/IMPALA-9382
> Project: IMPALA
> Issue Type: Sub-task
> Components: Backend
> Reporter: Tim Armstrong
> Priority: Major
>
> RuntimeProfile trees can potentially stress the memory allocator and use up a lot more memory and cache than is really necessary:
> * std::map is used throughout, and allocates a node per map entry. We do depend on the counters being displayed in-order, but we would probably be better of storing the counters in a vector and lazily sorting when needed (since the set of counters is generally static after Prepare()).
> * We store the same counter names redundantly all over the place. We'd probably be best off using a pool of constant counter names (we could just require registering them upfront).
> There may be a small gain from switching thrift to using unordered_map, e.g. for the info strings that appear with some frequency in profiles.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org