The Wiert Corner
– Given a variable I: Integer, some people like Inc(I); others like I := I + 1;. You might think that part of that discussion nowadays should be multithreading. In practice this does not matter: the compiler will use the same instructions for both statements. TL;DR: This might make you think they are always atomic. But that’s not always true, as the below differences show. In addition, it can also depend on your processor archicture. In the Win32 Delphi Compiler, this is how they look: var I: Integer; begin I := 1; Inc(I, 1); I := I + 1; end; Disassembly of the Inc(I); ...