| Скрытый текст |
| class Program
{
static void Main(string[] args)
{
var num = 10_000_000;
{
var watch = Stopwatch.StartNew();
var data = new TestClass[num];
for (var i = 0; i < data.Length; i++)
{
data[i] = new TestClass
{
Number0 = 10,
Number1 = 20,
};
}
watch.Stop();
Console.WriteLine(watch.Elapsed.TotalSeconds);
}
{
var watch = Stopwatch.StartNew();
var data = new TestStruct[num];
for (var i = 0; i < data.Length; i++)
{
data[i].Number0 = 10;
data[i].Number1 = 20;
}
watch.Stop();
Console.WriteLine(watch.Elapsed.TotalSeconds);
}
}
struct TestStruct
{
public long Number0;
public long Number1;
public long Temp0;
public long Temp1;
public long Temp2;
public long Temp3;
public long Temp4;
public long Temp5;
public long Temp6;
public long Temp7;
}
class TestClass
{
public long Number0;
public long Number1;
public long Temp0;
public long Temp1;
public long Temp2;
public long Temp3;
public long Temp4;
public long Temp5;
public long Temp6;
public long Temp7;
}
}
|
| |
Получается:
1.6395053
0.2299897
Откуда здесь разница аж в 8 раз?