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