On Mon, Dec 24, 2012 at 8:45 AM, julien2412<serval2412@yahoo.fr> wrote:
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.