728x90
struct TenNumbers
{
public double a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
}
class Program
{
private static double calc(TenNumbers a)
{
return a.a1 + a.a2 + a.a3 + a.a4 + a.a5 + a.a6 + a.a7 + a.a8 + a.a9 + a.a10;
}
static void Main(string[] args)
{
var start = DateTime.Now;
double sum = 0;
for (int i = 0; i < 100000000; i++)
{
sum += calc(new TenNumbers());
}
Console.WriteLine(sum);
Console.WriteLine(DateTime.Now - start);
}
}
class TenNumbers
{
public double a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
}
클래스를 구조체로 바꾸면 속도가 빨라지는 것은 작은 크기의 데이터가 많을 때만 해당된다.
데이터가 크거나 수가 적은 경우에는 오히려 느려질 수 있다.
구조체를 인수로 사용하면 통째로 복사되기 때문에 호출을 반복하면 속도가 엄청나게 느려진다.
크기가 작은 데이터가 많을 시에 구조체를 사용한다.
728x90
'c#' 카테고리의 다른 글
System.Data.MissingPrimaryKeyException (0) | 2023.01.27 |
---|---|
[C#] 파일 확실하게 닫기 (0) | 2023.01.26 |
[C#] Out of Memory (0) | 2023.01.26 |
[C#] 무명 메서드2 가이드와 장점 (0) | 2023.01.25 |
[C#] 무명 메서드 (0) | 2023.01.25 |