<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 4 November 2015 at 11:21, Norbert Thiebaud <span dir="ltr"><<a href="mailto:nthiebaud@gmail.com" target="_blank">nthiebaud@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Nov 4, 2015 at 3:42 AM, Stephan Bergmann <<a href="mailto:sbergman@redhat.com">sbergman@redhat.com</a>> wrote:<br>
> On 11/04/2015 09:16 AM, Daniel Robertson wrote:<br>
>><br>
>> commit f57a6593e21d45008173352fc29ededdbc2c8878<br>
>> Author: Daniel Robertson <<a href="mailto:danlrobertson89@gmail.com">danlrobertson89@gmail.com</a>><br>
>> Date:   Tue Nov 3 14:14:08 2015 -0500<br>
>><br>
>>      editeng: Eliminate unecessary padding in classes<br>
>><br>
>>      Edit the order of SvxLRSpaceItem and PaintFirstLineInfo members to<br>
>>      remove unecessary padding due to data alignment.<br>
>><br>
>>      Change-Id: Icf2c92ef86a32384e51d1cb6f1a079b10995dfd5<br>
>>      Reviewed-on: <a href="https://gerrit.libreoffice.org/19763" rel="noreferrer" target="_blank">https://gerrit.libreoffice.org/19763</a><br>
>>      Tested-by: Jenkins <<a href="mailto:ci@libreoffice.org">ci@libreoffice.org</a>><br>
>>      Reviewed-by: Norbert Thiebaud <<a href="mailto:nthiebaud@gmail.com">nthiebaud@gmail.com</a>><br>
>><br>
> [...]<br>
>><br>
>> diff --git a/include/editeng/lrspitem.hxx b/include/editeng/lrspitem.hxx<br>
>> index 40da999..94daed8 100644<br>
>> --- a/include/editeng/lrspitem.hxx<br>
>> +++ b/include/editeng/lrspitem.hxx<br>
>> @@ -50,15 +50,15 @@<br>
>><br>
>>   class EDITENG_DLLPUBLIC SvxLRSpaceItem : public SfxPoolItem<br>
>>   {<br>
>> -    short   nFirstLineOfst;     // First-line indent _always_ relative to<br>
>> nTxtLeft<br>
>>       long    nTxtLeft;           // We spend a sal_uInt16<br>
>>       long    nLeftMargin;        // nLeft or the negative first-line<br>
>> indent<br>
>>       long    nRightMargin;       // The unproblematic right edge<br>
>><br>
>>       sal_uInt16  nPropFirstLineOfst, nPropLeftMargin, nPropRightMargin;<br>
>> +    short   nFirstLineOfst;     // First-line indent _always_ relative to<br>
>> nTxtLeft<br>
><br>
><br>
> With micro-optimization changes like these, I would leave it to some domain<br>
> expert to decide whether it is actually worth it (i.e., whether on the one<br>
> hand the existing member order had been chosen deliberately, to aid human<br>
> comprehension, and whether on the other hand enough instances of that class<br>
> are created to warrant any such optimization).<br>
<br>
</div></div>Domain expert are the last one to reliably evaluate 'human<br>
comprehension", since they _are_ domain expert<br>
wrt to the number of instance... even if there is only one. is it a<br>
reason to be sloppy ?<br>
<span class=""><br>
><br>
>>       bool        bAutoFirst  : 1;    // Automatic calculation of the<br>
>> first line indent<br>
>> -    bool        bExplicitZeroMarginValRight;<br>
>> -    bool        bExplicitZeroMarginValLeft;<br>
>> +    bool        bExplicitZeroMarginValRight : 1;<br>
>> +    bool        bExplicitZeroMarginValLeft : 1;<br>
><br>
><br>
> It is unclear whether that is an optimization or a pessimization.<br>
<br>
</span>you can choose size or perf.. but having a<br>
bool foo:1<br>
followed by 2 plain bool<br>
is wrong either way.<br></blockquote><div>Correct, things like that make many compilers drop optimization for the whole class. <br><br></div><div>Always foo:1 first and then others.<br><br></div><div>As a side note, also remember that when using initializers in the constructor, while digging into the code I have seen a couple of places where the<br></div><div>sequence of initializers do not match the declaration sequence.<br><br></div><div>rgds<br></div><div>jan i  <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Norbert<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
LibreOffice mailing list<br>
<a href="mailto:LibreOffice@lists.freedesktop.org">LibreOffice@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/libreoffice" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/libreoffice</a><br>
</div></div></blockquote></div><br></div></div>