캐시의 철학
1. 방금 주문한 테이블에서 추가 주문이 나올 확률이 높다. (Temporal Locality)
2. 방금 주문한 사람 근처에 있던 사람이 추가 주문할 확률이 높다. (Spacial Locality)
(Spacial Locality)
int[,] arr = new int[10000, 10000];
{
long now = DateTime.Now.Ticks;
for (int y = 0; y < 10000; ++y)
for (int x = 0; x < 10000; ++x)
arr[y, x] = 1;
long end = DateTime.Now.Ticks;
Console.WriteLine($"y, x 순서 걸린 시간 {end - now}");
}
{
long now = DateTime.Now.Ticks;
for (int y = 0; y < 10000; ++y)
for (int x = 0; x < 10000; ++x)
arr[x, y] = 1;
long end = DateTime.Now.Ticks;
Console.WriteLine($"x, y 순서 걸린 시간 {end - now}");
}
전자의 경우가 훨씬 빠른데, 이전에 참조했던 메모리 근처에 다시 접근하기 때문이다. (Special Locality)
'프로그래밍 > Game Dev' 카테고리의 다른 글
[C#] MessagePack (0) | 2023.08.26 |
---|---|
[C#] 메모리 베리어 (0) | 2023.08.26 |
[C#] 쓰레드 생성 (0) | 2023.08.26 |
채용 정보를 통해 알아보는 게임 서버 기술 스택 정리 (0) | 2023.08.19 |
웹 서버 방식의 게임 서버 정리 (0) | 2023.08.19 |
댓글