Benchmarking your code
Benchmarking your code is very important since it allows you to pinpoint bottlenecks in your application and allows you to improve the overall performance of your software as well as learning which techniques are more taxing than others.
For this example we are going to be using the Stopwatch
class. This class will enable us to see how many milliseconds it required for our code to be executed so we can compare different methods or techniques.
As an example, the code below checks the performance difference of a try/catch block in a loop vs the performance when not using one. Keep in mind that try/catch blocks are not that performance heavy if they don’t actually catch something but the performance gets hit a lot in cases a lot of exceptions are being thrown.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Stopwatch sw = new Stopwatch(); int test; //test 1 sw.Start(); test = 0; for (int i = 0; i < int.MaxValue; i++) { test = i; } Console.WriteLine(sw.ElapsedMilliseconds); // 7644 sw.Reset(); //test 2 sw.Start(); test = 0; for (int i = 0; i < int.MaxValue; i++) { try { test = i; } catch { } } Console.WriteLine(sw.ElapsedMilliseconds); // 8429 sw.Reset(); |
For even better results I would advise running each test 3 to 5 times and simply calculating the average time of execution.
I’m truly enjoying the design and layout of your blog. It’s a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a designer to create your theme? Outstanding work!