Solaris 10 Sun Studio 12 & memcached 1.2.2
Trond Norbye
Trond.Norbye at Sun.COM
Wed Jun 20 06:01:56 UTC 2007
Paul Lindner wrote:
>
> This is a C99 extension. It probably should be expressed as void
> *end[]. Can you try this construct instead?
>
> < void * end[0];
>
>> void * end[];
>>
>
> This passes all tests on linux and macosx.
>
And with Sun Studio 12 :-)
> Using void *end[1] results in the base data structure growing in size
> from 32 to 36 bytes, which is probably not what we want.
>
I have just started to look at the code, so I still haven't done any
"in-depth" analysis. Will it actually make a difference (run-time)? From
the comments I gets the impression that the minimum size of the variable
part of the struct is 10 bytes.
(key and zero-term: 2 bytes
flag space length \r\n: 5 bytes
data \r\n: 3 bytes
)
so even in LP64 we still use all of the space...
(But since void*end[] is a valid construct that describes the actual
use, I do prefer that ;-) I was just curious if there was something
obvious I didn't see...)
Trond Norbye
More information about the memcached
mailing list