On 7/4/2011 7:38 PM, Mehrdad wrote:
Actually, there is **NO** performance issue -- at least not in C#. In fact, if you run this program (with or without optimizations), you will see that they're literally the same almost all the time:using System; static class Program { static long globalVar = 0; //Make it static so it doesn't get optimized static void Main() { const long COUNT = 100000000; for (;;) { var start = Environment.TickCount; for (long i = 0; i < COUNT; i++) checked { globalVar = i * i; } System.Console.WriteLine("Checked: {0}", Environment.TickCount - start); start = Environment.TickCount; for (long i = 0; i < COUNT; i++) unchecked { globalVar = i * i; } System.Console.WriteLine("Unchecked: {0}", Environment.TickCount - start); } } } There is literally no performance issue. Ever. Just my 2c
I ran your program, and my results are different than yours. Checked: 1497 Unchecked: 531 Checked: 1138 Unchecked: 453 Checked: 1092 Unchecked: 468 Checked: 1092 Unchecked: 452 Checked: 1077 Unchecked: 452 Checked: 1108 Unchecked: 452 Checked: 1186 Unchecked: 452 Checked: 1092 Unchecked: 437 Checked: 1092 Unchecked: 452 Checked: 1092 Unchecked: 453 Checked: 1138 Unchecked: 437
