ir193 <[email protected]> wrote: > I'm new here and seldom use mail list. Please tell me if I did something > improper. > Now I'm learning ansi C and socket programming these days. I read polipo > source code and saw this (in event.c): > > /* Let the compiler optimise the common cases */ > if(dsize == sizeof(void*)) > memcpy(event->data, data, sizeof(void*)); > else if(dsize == sizeof(StreamRequestRec)) > memcpy(event->data, data, sizeof(StreamRequestRec)); > else if(dsize > 0) > memcpy(event->data, data, dsize); > > I really don't understand why this is a "optimise". I'll appreciate if > someone can help.
sizeof(void*) and sizeof(StreamRequestRec) are known at compile time so the compiler is free to replace the first two memcpy calls with more efficient code that has the same effect but only works with fixed lengths. I wouldn't recommend that you use similar constructs in your own code unless you have measured the difference and are sure it matters. Fabian
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ Polipo-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/polipo-users
