Why does the compiler generate a MOV EDI, EDI instruction at the beginning of functions?

Why does the compiler generate a MOV  EDI, EDI instruction at the beginning of functions?   I’ve recently noticed that on the XPSP2 Beta that I am running the function prologs look like this:            MOV    EDI, EDI      PUSH   EBP      MOV    EBP, ESP   The PUSH  EBP and MOV EBP, ESP instructions…

3

Battered fries are considered “fresh vegetables”!?

Well, probably not by nutritionists, but the USDA, backed by a court decision says they are. (Above link will probably expire in few days). [typo corrected 15:00]

2

Developing firewall and NAT friendly network applications

Developing firewall and NAT friendly network applications When I worked on ISA Server I’ve seen network applications that were incompatible with firewalls and NAT and were difficult or impossible to configure the firewall for, even when the firewall administrator wanted the application to pass through.   Below are some design considerations that can help make network…

2

It is not always the CPU

Before you start to actually profile your application, you do not know what the bottleneck is.    It is not uncommon to see people trying to “optimize” code and save CPU cycles in places were it is not really required.   This leads to obfuscated code that is less easy to maintain without a real performance benefit….