[PATCH] Replace loop by memset in sal/typesconfig/typesconfig.c
Julien Nabet
serval2412 at yahoo.fr
Mon Dec 24 09:44:14 PST 2012
On 24/12/2012 18:29, Norbert Thiebaud wrote:
> On Mon, Dec 24, 2012 at 8:45 AM, julien2412<serval2412 at yahoo.fr> wrote:
>> Hello,
>>
>> By taking a look at the file sal/typesconfig/typesconfig.c, GetAlignment
>> function, I wonder if we could replace the for loop by a memset to optimize
>> a bit.
>> So here's a straightforward patch:
>> diff --git a/sal/typesconfig/typesconfig.c b/sal/typesconfig/typesconfig.c
>> index 473f07a..ef52c5f 100644
>> --- a/sal/typesconfig/typesconfig.c
>> +++ b/sal/typesconfig/typesconfig.c
>> @@ -262,11 +262,9 @@ int GetAlignment( Type eT )
>> {
>> char a[ 16*8 ];
>> long p = (long)(void*)a;
>> - int i;
>>
>> /* clear a[...] to set legal value for double access */
>> - for ( i = 0; i< 16*8; i++ )
>> - a[i] = 0;
>> + memset(a, 0, sizeof(a));
>>
>> p = ( p + 0xF )& ~0xF;
>> for ( i = 1; i< 16; i++ )
>>
>> Would it be ok?
> well you can't remove
> int i;
>
> since it is still used in the second for loop.
>
> and I doubt that that code is run very often... namely 4 times per
> execution of the typesconfig executable... which in turn run dozens of
> fprintf...
> I'd say that this micro-optimization would be completely
> un-measurable, and may or may not be an optimization at all depending
> on how the memset is treated.
> but sure, it is 'ok', as in it won't hurt anything.
ok let's forget it, I suppose that the one who made this loop has
certainly good reasons for this + you must be right, micro-optimization
Julien
More information about the LibreOffice
mailing list