Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.36 KB | None | 0 0
  1. using System;
  2. using System.Diagnostics;
  3.  
  4. namespace DeleteThis
  5. {
  6.     internal class Program
  7.     {
  8.         private static Stopwatch watcher = new Stopwatch();
  9.  
  10.         private static void Main()
  11.         {
  12.             var objCount = 30;
  13.             var loopsCount = 5;
  14.  
  15.             for (int i = 0; i < loopsCount; i++)
  16.                 RunClasses(objCount);
  17.  
  18.             for (int i = 0; i < loopsCount; i++)
  19.                 RunStructs(objCount);
  20.  
  21.             Console.WriteLine("Done");
  22.             Console.ReadKey();
  23.         }
  24.  
  25.         private static void RunClasses(int objCount)
  26.         {
  27.             watcher.Restart();
  28.             var list = new class1[objCount * 1000 * 1000];
  29.             for (int i = 0; i < list.Length; i++)
  30.                 list[i] = new class1(i, i * 2);
  31.             watcher.Stop();
  32.             Console.WriteLine("Class run elapsed: " + watcher.Elapsed);
  33.             GC.Collect();
  34.         }
  35.  
  36.         private static void RunStructs(int objCount)
  37.         {
  38.             watcher.Restart();
  39.             var list = new struct1[objCount * 1000 * 1000];
  40.             for (int i = 0; i < list.Length; i++)
  41.                 list[i] = new struct1(i, i * 2);
  42.             watcher.Stop();
  43.             Console.WriteLine("Struct run elapsed: " + watcher.Elapsed);
  44.             GC.Collect();
  45.         }
  46.  
  47.         private class class1
  48.         {
  49.             public class1(int x, int y)
  50.             {
  51.                 X = x;
  52.                 Y = y;
  53.             }
  54.  
  55.             public int X { get; set; }
  56.             public int Y { get; set; }
  57.         }
  58.  
  59.         private struct struct1
  60.         {
  61.             public struct1(int x, int y)
  62.             {
  63.                 X = x;
  64.                 Y = y;
  65.             }
  66.  
  67.             public int X { get; set; }
  68.             public int Y { get; set; }
  69.         }
  70.     }
  71. }
  72. ==================================    Run      =================================
  73. Class run elapsed: 00:00:04.5652342
  74. Class run elapsed: 00:00:04.7994383
  75. Class run elapsed: 00:00:05.3744633
  76. Class run elapsed: 00:00:05.3462232
  77. Class run elapsed: 00:00:05.6153301
  78. Struct run elapsed: 00:00:00.2896144
  79. Struct run elapsed: 00:00:00.2870866
  80. Struct run elapsed: 00:00:00.3003215
  81. Struct run elapsed: 00:00:00.2613126
  82. Struct run elapsed: 00:00:00.2651348
  83. Done
  84. =================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement