当前位置:   article > 正文

switch与if效率实例解析·5年以下编程经验必看【C#】_c#做一次if判断要多长时间

c#做一次if判断要多长时间

绝大多数的程序员喜欢使用if判断,但是真的效率高吗?还是其它的,可能只会用if呢!我们今天就具体测一测,用事实说话,测试量100W:

本文采用的是【C#】语言进行测试

switch效率测试代码:

  1. using System;
  2. using System.Diagnostics;
  3. namespace Action
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. Random ra = new Random();
  10. int count = 1000000;
  11. DateTime start = DateTime.Now;
  12. for (int i = 0; i < count; i++)
  13. {
  14. switch (ra.Next(10))
  15. {
  16. case 0:break;
  17. case 1:break;
  18. case 2:break;
  19. case 3:break;
  20. case 4:break;
  21. case 5:break;
  22. case 6:break;
  23. case 7:break;
  24. case 8:break;
  25. case 9:break;
  26. default: break;
  27. }
  28. }
  29. DateTime end = DateTime.Now;
  30. double usedMemory = Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0;
  31. Console.WriteLine("耗时:"+(end-start).TotalMilliseconds+"毫秒");
  32. Console.WriteLine("消耗内存:"+ usedMemory+"M");
  33. }
  34. }
  35. }

100W次swtich判断,消耗时间31.66ms,消耗内存16.31M

if效率测试代码:

  1. using System;
  2. using System.Diagnostics;
  3. namespace Action
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. Random ra = new Random();
  10. int count = 1000000;
  11. DateTime start = DateTime.Now;
  12. for (int i = 0; i < count; i++)
  13. {
  14. int v = ra.Next(10);
  15. if (v == 0)
  16. {
  17. }
  18. else if (v == 1)
  19. {
  20. }
  21. else if (v == 2)
  22. {
  23. }
  24. else if (v == 3)
  25. {
  26. }
  27. else if (v == 4)
  28. {
  29. }
  30. else if (v == 5)
  31. {
  32. }
  33. else if (v == 6)
  34. {
  35. }
  36. else if (v == 7)
  37. {
  38. }
  39. else if (v == 8)
  40. {
  41. }
  42. else if (v == 9)
  43. {
  44. }
  45. }
  46. DateTime end = DateTime.Now;
  47. double usedMemory = Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0;
  48. Console.WriteLine("耗时:" + (end - start).TotalMilliseconds + "毫秒");
  49. Console.WriteLine("消耗内存:" + usedMemory + "M");
  50. }
  51. }
  52. }

100W次swtich判断,消耗时间34.68ms,消耗内存16.30M

结论:

综上实验可得:

1、在C#语言中,两者效率相差不大,几乎可以忽略不计,在一百万次判断中只是相差2~3毫秒,效率还是相当惊人的。

2、很明显的是【Java】【Python】【C#】三者测试完成后,觉得Java的效率还是最高的。相信,如果换成用Linux服务器效果会更好。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/142173
推荐阅读
相关标签
  

闽ICP备14008679号