@coded_artist @LukeAlmighty @SuperDicq
the conclusion from all of that is:
1. Instead of trying to be clever, try to write code in such a way that it's easy to understand what you're trying to do - chances are the compiler will be able to make sense of that and apply optimizations much better than you could by hand.
2. If in doubt, look at what instructions the compiler generates, eg. with godbolt: https://godbolt.org/z/oW88b77eW
@coded_artist @LukeAlmighty @SuperDicq
If you use arithmetic tricks to swap two values, anything that uses any of the two values in the future depends on those swap instructions, which in turn depend on both the instructions that calculated a, and the instructions that calculated b.
That may prevent CPU from doing things in parallel, or reordering instructions, which again, makes your code slow.
7/
I draw, code, and make memes sometimes.