[PATCH] Replace loop by memset in sal/typesconfig/typesconfig.c

Norbert Thiebaud nthiebaud at gmail.com
Mon Dec 24 09:29:18 PST 2012


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.

Norbert

>
> Julien
>
>
>
>
> --
> View this message in context: http://nabble.documentfoundation.org/PATCH-Replace-loop-by-memset-in-sal-typesconfig-typesconfig-c-tp4026017.html
> Sent from the Dev mailing list archive at Nabble.com.
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice


More information about the LibreOffice mailing list