C# Boxingのパフォーマンス上の影響について
Boxingなしの場合のコード
using System; class Program { public static void Main() { DateTime start = DateTime.Now; for (Int32 i = 0; i < Int32.MaxValue; i++) { Int32 i32 = i;//Boxingなし } TimeSpan span = DateTime.Now - start; Console.WriteLine("Time : {0}", span); } }
Boxingありの場合のコード
using System; class Program { public static void Main() { DateTime start = DateTime.Now; for (Int32 i = 0; i < Int32.MaxValue; i++) { Object o = i;//Boxing } TimeSpan span = DateTime.Now - start; Console.WriteLine("Time : {0}", span); } }
テスト環境
Boxingなし | 5.767秒 |
Boxingあり | 17.645秒 |
Boxingはかなりパフォーマンス上の影響が大きい。