캐시 이론

Icarus_w·2022년 12월 21일
0

📌주제 : 캐시 장치의 동작 원리 파악

  1. Temporal Locality(시간적)

    시간적으로 보면, 방금 주문한 테이블에서 추가 주문이 나올 확률이 높다.

    방금 주문한걸 메모해 놓으면 편하지 않을까?

  2. Spacial Locality(공간적)

    공간적으로 보면, 방금 주문한 사람 근처에 있는 사람이 추가 주문을 할 확률이 높다.

    방금 주문한 사람과 합석하고 있는 사람들의 주문 목록도 메모해 놓으면 편하지 않을까?

static void Main(string[] args)
{
    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}");
    }

첫번째 코드는 공간적 이점을 살린 캐시를 활용할 수 있기 때문에 훨씬 빠르다.

image

profile
하루에 하나

0개의 댓글

관련 채용 정보