Korean subtitles

← 03-04 Batching_and_Caching

03-04 Batching_and_Caching

Get Embed Code
13 Languages

Showing Revision 6 created 05/22/2016 by nc_translator1.

  1. 제가 가장 좋아하는 성능 향상 기법을 2개 소개할게요
  2. 배칭과 캐싱이에요
  3. 이미 얘기했던 내용이지만
  4. 일부 함수와 연산자들은 일정량의 오버헤드를 가지는데
  5. 실제 연산에 필요한 성능과는 다릅니다
  6. 예를 들어 데이터를 처리하기 전에
    새로운 저장공간에 옮기는 시간이나
  7. 검색을 하기 전에 정렬하는 시간을 말하는 겁니다
  8. 이런 함수와 명령을 정말 많이 반복할 때
  9. 오버헤드는 애플리케이션 속도에 매우 큰 영향을 미쳐요
  10. 배칭은 이런 성능 문제를 해결하는 절차입니다
  11. 실행할 때마다 걸리는 오버헤드를 줄여서 말이에요
  12. 각자의 차를 운전하기 보다 카풀을 해서 기름값을 아끼는 것과 비슷해요
  13. 배칭은 데이터를 ‘준비’시키는 단계에서 가장 많이 접합니다
  14. 데이터를 실제로 사용하기 전에 말이에요
  15. 예를 들어 집합에서 특정 값을 찾는 가장 효율적인 방법은
  16. 집합을 정렬한 후 이진 탐색을 하는 것이라고 가정해보세요
  17. 잠시만요 물론 이게 실제로 가장 효과적인 방법은 아니에요
  18. 그래도 속는 셈 치고 들어주세요
    드리고 싶은 말이 있어서 그래요
  19. 어쨌든 가장 쉬운 방법은 함수를 작성하는 겁니다
  20. 집합과 특정 값이 주어지면
  21. 집합을 정렬한 후 검색을 해서
    해당 값이 존재하는지 확인하는 겁니다
  22. 원하는 성능 수준에 따라 이 방법도 충분할 수 있어요
  23. 하지만 찾고 싶은 값이 1만 개 있고
  24. 집합은 몇백만 개의 값으로 이루어졌다고 생각해보세요
  25. 순식간에 문제가 바뀌어
    매번 검색을 수행할 때마다 엄청난 오버헤드가 생겨요
  26. 정렬을 하기 때문에 말이죠
  27. 해결책은 간단해요
  28. 집합을 한 번만 정렬해서 보관하고
  29. 찾고 싶은 1만 개의 값을 정렬된 집합에서 찾는 겁니다
  30. 이것이 바로 배칭입니다
  31. 반복되는 계산을 찾아내고 한 번만 실행하는 거예요
  32. 배칭과 비슷한 캐싱이라는 개념도 있는데요
  33. 캐싱은 알고 계셔야 할 성능 개념 중 단연 가장 중요한 개념입니다
  34. 최근 컴퓨터 기술은 전부 캐싱에 의존하기 때문이죠
  35. 여러분의 컴퓨터를 보세요
  36. RAM이 존재하는 이유는
    CPU 접근시간이 더 빠른 저장 공간을 제공하기 위해서입니다
  37. 하드 드라이브보다 말이에요
  38. 아니면 네트워킹과 요즘 인터넷을 보세요
  39. 데이터 센터라고 부르는 거대한 서버 창고들이 세계 곳곳에 존재하는데
  40. 데이터 센터의 유일한 목적은 자주 사용하는 콘텐츠를 저장해서
  41. 여러분의 컴퓨터가 2만 km 떨어져 있는
    서버까지 연결하지 않아도 되게 하는 거예요
  42. 이집트에 있는 친구가 사진을 올릴 때마다 말이에요
  43. 물론 여러분이 이집트에 계시면 상황이 다르지만...
    제가 무슨 말을 하고 싶은지 아시겠죠?
  44. 그럼 여러분이 캐싱을 사용할 가장 기본적인 경우는
  45. 여러 번 반복하는 계산의 결괏값이
  46. 매번 같을 때에요
  47. 예를 들어 루프 안에서
  48. 4x4 매트릭스의 행렬식을 계산하는데
  49. 매번 계산된 값이 같다면
  50. 해당 루프를 반복할 때마다
    같은 계산을 반복해 자원을 낭비하는 겁니다
  51. 대신 행렬식 값을 계산하고 루프 밖에 저장을 해 놓은 다음
  52. 루프에서 캐싱 된 값을 참조하게 해주세요
  53. 제가 배칭과 캐싱을 너무나도 사랑하는 이유는
  54. 여러분이 생각해낼 수 있는 모든 성능 향상 방법은
  55. 물론 이 강의에서 언급한 방법을 포함해서요
  56. 사실상 이 2개의 기술을 변경한 것뿐이에요
  57. 그리고 여러분께서 정말로 성능 고수가 되고 싶으시다면
  58. 알맞게 활용하실 줄 아셔야 해요
  59. 이 기술의 엄청난 위력을 말이죠
  60. 그럼 시작해봅시다