News for hackers. Stuff that matters.
Re:Debunking the Java Performance Myth by yoklov on Sunday October 22, 2017 @10:51AM (#15527059)
Declaring a primitive variable inside vs outside a loop in c or c++ will have no effect when compiled with optimizations on by any major compiler. For non-primitive types it will depend on a number of factors, and the better choice for perf could go either way.
Re:Debunking the Java Performance Myth by DannyBee on Sunday October 22, 2017 @12:18PM (#15527477)
Yes, because if the loop is not always-executing, it may be cheaper to not initialize the complex object, even if it is safe to so.
Re:Debunking the Java Performance Myth by yoklov on Tuesday October 24, 2017 @09:11AM (#15541233)
I've also (recently) had poor performance on MSVC when "outside the loop" meant "a function argument", for a type that was essentially a struct wrapping a single primitive. It ended up being ABI weirdness that was confusing MSVC (and forceinline ended up fixing it).