On 24/12/2012 18:29, Norbert Thiebaud wrote:
On Mon, Dec 24, 2012 at 8:45 AM, julien2412<serval2...@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
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to