fork download
  1. using System;
  2. using System.Diagnostics;
  3.  
  4. class Smth
  5. {
  6. public int Sum;
  7. public void Add1(int x) { Sum += x; }
  8. public Smth Add2(int x) { Sum += x; return this; }
  9. }
  10.  
  11. public class Test
  12. {
  13. public static void Main()
  14. {
  15. var x = new Smth();
  16. const int MAXN = 10000;
  17.  
  18. Stopwatch sw = new Stopwatch();
  19.  
  20. x.Sum = 0;
  21. sw.Start();
  22.  
  23. for (var q=0; q<MAXN; ++q)
  24. {
  25. x.Add1(1);
  26. x.Add1(2);
  27. x.Add1(3);
  28. x.Add1(4);
  29. x.Add1(5);
  30. x.Add1(6);
  31. x.Add1(7);
  32. x.Add1(8);
  33. }
  34.  
  35. sw.Stop();
  36.  
  37. Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
  38.  
  39. x.Sum = 0;
  40. sw.Restart();
  41.  
  42. for (var q=0; q<MAXN; ++q)
  43. {
  44. x.Add2(1).Add2(2).Add2(3).Add2(4).Add2(5).Add2(6).Add2(7).Add2(8);
  45. }
  46.  
  47. sw.Stop();
  48.  
  49. Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
  50.  
  51. x.Sum = 0;
  52. sw.Restart();
  53.  
  54. for (var q=0; q<MAXN; ++q)
  55. {
  56. x.Add1(36);
  57. }
  58.  
  59. sw.Stop();
  60.  
  61. Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
  62.  
  63. x.Sum = 0;
  64. sw.Restart();
  65.  
  66. for (var q=0; q<MAXN; ++q)
  67. {
  68. x.Add2(36);
  69. }
  70.  
  71. sw.Stop();
  72.  
  73. Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
  74. }
  75. }
Success #stdin #stdout 0.03s 15972KB
stdin
Standard input is empty
stdout
360000 3350
360000 2595
360000 422
360000 287