Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.44 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace BoxingAllocationsTest
  5. {
  6.     public class Program
  7.     {
  8.         private const int iterations = 100000;
  9.  
  10.         public enum TestEnum
  11.         {
  12.             A = 0,
  13.             B = 1,
  14.             C = 2,
  15.             D = 3
  16.         }
  17.  
  18.         public static void Main(string[] _)
  19.         {
  20.             Dictionary<TestEnum, int> dictionary = new Dictionary<TestEnum, int>()
  21.             {
  22.                 { TestEnum.A, 0 },
  23.                 { TestEnum.B, 1 },
  24.                 { TestEnum.C, 2 },
  25.                 { TestEnum.D, 3 },
  26.             };
  27.  
  28.             Random random = new Random();
  29.  
  30.             int[] input = new int[iterations];
  31.             for (int i = 0; i < iterations; i++)
  32.             {
  33.                 input[i] = random.Next(0, 4);
  34.             }
  35.  
  36.             int[] output = new int[iterations];
  37.  
  38.             var memoryUsage = GC.GetTotalMemory(false);
  39.             for (int i = 0; i < iterations; i++)
  40.             {
  41.                 output[i] = dictionary[(TestEnum)input[i]];
  42.  
  43.                 if (memoryUsage != GC.GetTotalMemory(false))
  44.                 {
  45.                     Console.WriteLine("Garbage!");
  46.                 }
  47.             }
  48.  
  49.             for (int i = 0; i < iterations; i++)
  50.             {
  51.                 if (output[i] != input[i])
  52.                 {
  53.                     Console.WriteLine("Error!");
  54.                 }
  55.             }
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement