[COLOR=royalblue]Therefore, any code optimization performed on a function that does not change the resulting value of the function for any argument, is uncontroversially considered a valid optimization. Therefore, techniques such as instruction selection, instruction scheduling, dead code elimination, & load/store reordering are all acceptable. These techniques change the performance profile of the function, without affecting its extensional meaning.
Optimization techniques which change your function into a function that extensionally differs from what you specified are generally not considered valid optimizations. These sorts of optimizations have occasionally been exposed, for example, in C++ compilers as features that programmers can optionally enable when they want the extra performance & are willing to accept that the meaning of their function is being changed but hopefully to a reasonable numeric approximation. 1 example of this is Visual C++'s "improve float consistency" option. Such non-extensional optimizations, in all sane programming systems, default to off.[/COLOR]
Would you like to know more? To apply this to the NVIDIA/ATi Drivers in 3D Mark 2003 what's he's saying is NVIDIA cheated, ATi optimized.
Downloads and Drivers
From the Forums
Subscribe to TechSpot
Get free exclusive content, learn about new features and breaking tech news.