Reasons For Avoidance in Practice
Most modern compilers can optimize away the temporary variable in the naive swap, in which case the naive swap uses the same amount of memory and the same number of registers as the XOR swap and is at least as fast, and often faster. The XOR swap is also much less readable and completely opaque to anyone unfamiliar with the technique.
On modern CPU architectures, the XOR technique is considerably slower than using a temporary variable to do swapping. One reason is that modern CPUs strive to execute instructions in parallel via instruction pipelines. In the XOR technique, the inputs to each operation depend on the results of the previous operation, so they must be executed in strictly sequential order. If efficiency is of tremendous concern, it is advised to test the speeds of both the XOR technique and temporary variable swapping on the target architecture.
Read more about this topic: XOR Swap Algorithm
Famous quotes containing the words reasons for, reasons, avoidance and/or practice:
“The source of Pyrrhonism comes from failing to distinguish between a demonstration, a proof and a probability. A demonstration supposes that the contradictory idea is impossible; a proof of fact is where all the reasons lead to belief, without there being any pretext for doubt; a probability is where the reasons for belief are stronger than those for doubting.”
—Andrew Michael Ramsay (16861743)
“Man has lost the basic skill of the ape, the ability to scratch its back. Which gave it extraordinary independence, and the liberty to associate for reasons other than the need for mutual back-scratching.”
—Jean Baudrillard (b. 1929)
“The American Dream, the idea of the happy ending, is an avoidance of responsibility and commitment.”
—Jill Robinson (b. 1936)
“As an example of just how useless these philosophers are for any practice in life there is Socrates himself, the one and only wise man, according to the Delphic Oracle. Whenever he tried to do anything in public he had to break off amid general laughter. While he was philosophizing about clouds and ideas, measuring a fleas foot and marveling at a midges humming, he learned nothing about the affairs of ordinary life.”
—Desiderius Erasmus (c. 14661536)