You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Andrew Stitcher (JIRA)" <ji...@apache.org> on 2014/05/22 18:35:02 UTC
[jira] [Resolved] (PROTON-585) Can improve memory use by
rearranging structs to eliminate padding
[ https://issues.apache.org/jira/browse/PROTON-585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Stitcher resolved PROTON-585.
------------------------------------
Resolution: Fixed
Tested that no padding holes remain by using:
{code}
pahole -H1 libqpid-proton.so
{code}
On a library with debug info (build type RelWithDebInfo)
And observe that no proton (pn_ or pni_) structs are reported.
> Can improve memory use by rearranging structs to eliminate padding
> ------------------------------------------------------------------
>
> Key: PROTON-585
> URL: https://issues.apache.org/jira/browse/PROTON-585
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Affects Versions: 0.6, 0.7
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Priority: Minor
> Fix For: 0.8
>
>
> The C/C++ language rules allow compilers to add extra padding in the middle of structs .Generally this is done to maintain the correct ABI alignment for the members.
> This means that by paying attention to the sizes of the members you can eliminate the padding simply by putting the largest members (with the biggest alignment constraint) first then the next then the next down to bitfields (if you are using them).
> Removing the padding can reduce the space used by structs and this can be significant if enough of them are allocated.
--
This message was sent by Atlassian JIRA
(v6.2#6252)