본문 바로가기
프로그래밍

Memory Footprint 란?

by K-인사이터 2023. 3. 1.
반응형

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

 

Apple 2021 맥북프로 14, 스페이스그레이, M1 Pro 8코어, GPU 14코어, 512GB, 16GB, MKGP3KH/A, MAC OS LG 그램 16인치 17인치 11세대 i7 512G RAM16G 일반 2IN1터치스크린 16Z90P 16T90P 17Z90P 노트북 윈도우포함, 16인치 터치스크린, WIN11 Home, 16GB, 512GB, 코어i7, 블랙 삼성전자 2021 노트북 플러스2 15.6, 퓨어 화이트, 셀러론, NVMe128GB, 8GB, WIN10 Pro, NT550XDA-K14AW 삼성전자 2022 갤럭시북2 39.6cm, WIN11 Home, 그라파이트, 16GB, 1TB, 코어i7, NT750XEW-A71AG 레노버 2022 씽크북 14 G4+ ARA, Arctin grey, 512GB, 라이젠7, 16GB, ThinkBook 14 Gen4+ ARA - 21D0000NKR, WIN11 Home 에이수스 2022 노트북 17.3, Mecha Gray, ASUS TUF Gaming A17 FA707RM-HX016, 라이젠7 5세대, 512GB, 8GB, Free DOS

 

안녕하세요 k-in 입니다. 

 

간혹 외국 IT 문서를 읽다보면 Footprint 라는 용어를 발견하게 될 것입니다.

 

보통 오픈소스의 성능(performance)를 설명하기 위해 사용하는 단어인데요.

 

IT 보안 계열에서 종사하시는 분들에게는 조금 다른 의미일 수도 있어서 오늘은 이를 구분해서 소개해보고자 합니다. 

 

Footprint 의 사전적 의미

  • (사람·동물의) 발자국
  • (무엇이) 차지하는 공간
  • (통신 위성의) 지상 수신 범위

Memory Footprint 의 의미 (출처: 위키피디아)

Footprint 에 Memory 가 붙으면 조금 다른 의미가 됩니다.

영문판 위키피디아를 출처로 합니다. 

Memory footprint refers to the amount of main memory that a program uses or references while running.

▷ 메모리 풋프린트는 프로그램이 동작 중에 사용하는 메인 메모리의 양(amount)을 지칭합니다. 

 

그런데, 이 footprint 에는 조금 다른 의미가 있습니다. 우리가 아는 발자국과는 다른 의미를 가질 수도 있다는 점이 조금 신기하네요.

The word footprint generally refers to the extent of physical dimensions that an object occupies, giving a sense of its size.

"footprint 단어는 물체가 차지하는 물리적 차원의 범위를 가리키며 크기에 대한 감각을 제공한다" 정도로 해석됩니다. 

 

우리가 아는 발자국과는 또 다른 의미이기 때문에 이번엔 웹스터의 자료를 가져와 보았습니다. 

"무언가로 덮혀진 표면의 면적"이라는 의미로 사용되네요.

 

Apple 2021 맥북프로 14, 스페이스그레이, M1 Pro 8코어, GPU 14코어, 512GB, 16GB, MKGP3KH/A, MAC OS LG 그램 16인치 17인치 11세대 i7 512G RAM16G 일반 2IN1터치스크린 16Z90P 16T90P 17Z90P 노트북 윈도우포함, 16인치 터치스크린, WIN11 Home, 16GB, 512GB, 코어i7, 블랙 삼성전자 2021 노트북 플러스2 15.6, 퓨어 화이트, 셀러론, NVMe128GB, 8GB, WIN10 Pro, NT550XDA-K14AW 삼성전자 2022 갤럭시북2 39.6cm, WIN11 Home, 그라파이트, 16GB, 1TB, 코어i7, NT750XEW-A71AG 레노버 2022 씽크북 14 G4+ ARA, Arctin grey, 512GB, 라이젠7, 16GB, ThinkBook 14 Gen4+ ARA - 21D0000NKR, WIN11 Home 에이수스 2022 노트북 17.3, Mecha Gray, ASUS TUF Gaming A17 FA707RM-HX016, 라이젠7 5세대, 512GB, 8GB, Free DOS

 

위키피디아에서 말하는 "물리적 차원의 범위"와 어느정도 유사한 듯합니다. 

(1번 의미는 전형적인 발자국을 의미합니다.)

https://www.merriam-webster.com/dictionary/footprint

 

다시 컴퓨터 용어로 돌아와 보겠습니다. 

In computing, the memory footprint of a software application indicates its runtime memory requirements, while the program executes.

▷ 컴퓨팅에서 소프트웨어 어플리케이션의 "메모리 풋프린팅"은 "프로그램 실행 중에 런타임 메모리 요구사항"을 의미합니다. 

이를 위의 2번의 의미를 덧붙여서 해석해보면

 

"무언가로 덮혀진 표면의 면적" 에서 "응용 프로그램으로 덮혀진 메모리의 면적" 과 같이 치환하여 해석 가능합니다. 

 

자 이제 풋프린트에 대한 단어의 사전적 의미와 이를 응용한 컴퓨팅 용어의 의미를 대략적으로 이해하였습니다. 

좀더 세부적으로 이해해 볼까요? 

 

This includes all sorts of active memory regions like code segment containing (mostly) program instructions (and occasionally constants), data segment (both initialized and uninitialized), heap memory, call stack, plus memory required to hold any additional data structures, such as symbol tables, debugging data structures, open files, shared libraries mapped to the current process, etc.

 

▷ 런타임 메모리 요구사항에는 모든 메모리 영역의 종류를 포함합니다. 즉, 코드 세그먼트(code segment, 프로그램 명령어들이 포함된 영역), 데이터 세그먼트(data segment), 힙 메모리(heap memory), 콜 스택(call stack), 데이터 구조를 저장하는 메모리(symbol table, 디버깅 데이터 구조, 열려진 파일, 프로세스에 맵핑된 공유 라이브러리 등등) 를 모두 포괄합니다. 

 

Apple 2021 맥북프로 14, 스페이스그레이, M1 Pro 8코어, GPU 14코어, 512GB, 16GB, MKGP3KH/A, MAC OS LG 그램 16인치 17인치 11세대 i7 512G RAM16G 일반 2IN1터치스크린 16Z90P 16T90P 17Z90P 노트북 윈도우포함, 16인치 터치스크린, WIN11 Home, 16GB, 512GB, 코어i7, 블랙 삼성전자 2021 노트북 플러스2 15.6, 퓨어 화이트, 셀러론, NVMe128GB, 8GB, WIN10 Pro, NT550XDA-K14AW 삼성전자 2022 갤럭시북2 39.6cm, WIN11 Home, 그라파이트, 16GB, 1TB, 코어i7, NT750XEW-A71AG 레노버 2022 씽크북 14 G4+ ARA, Arctin grey, 512GB, 라이젠7, 16GB, ThinkBook 14 Gen4+ ARA - 21D0000NKR, WIN11 Home 에이수스 2022 노트북 17.3, Mecha Gray, ASUS TUF Gaming A17 FA707RM-HX016, 라이젠7 5세대, 512GB, 8GB, Free DOS

실제 사용 사례

이제 어느정도 Memory Footprint 에 대해 충분히 의미를 이해한 듯합니다. 

Gin web framework 의 특징을 설명하는 문구를 볼까요? 

https://gin-gonic.com/docs/introduction/

대충 Gin 은 속도가 빠르다는 소개인듯합니다. 그런데 구성요소를 보면 Small memory foot print 라는 용어가 있네요. 

만약 이 블로그를 보기 전이라면 작은 메모리를 차지한다 정도로 의미가 해석될 것입니다. 

 

그런데 이제는 Gin 을 이용한 웹 어플리케이션이 차지하는 런타임 메모리 요구사항이 작다는 의미로 해석됩니다.
좀 더 정확한 해석이 가능하네요. 

 

Apple 2021 맥북프로 14, 스페이스그레이, M1 Pro 8코어, GPU 14코어, 512GB, 16GB, MKGP3KH/A, MAC OS LG 그램 16인치 17인치 11세대 i7 512G RAM16G 일반 2IN1터치스크린 16Z90P 16T90P 17Z90P 노트북 윈도우포함, 16인치 터치스크린, WIN11 Home, 16GB, 512GB, 코어i7, 블랙 삼성전자 2021 노트북 플러스2 15.6, 퓨어 화이트, 셀러론, NVMe128GB, 8GB, WIN10 Pro, NT550XDA-K14AW 삼성전자 2022 갤럭시북2 39.6cm, WIN11 Home, 그라파이트, 16GB, 1TB, 코어i7, NT750XEW-A71AG 레노버 2022 씽크북 14 G4+ ARA, Arctin grey, 512GB, 라이젠7, 16GB, ThinkBook 14 Gen4+ ARA - 21D0000NKR, WIN11 Home 에이수스 2022 노트북 17.3, Mecha Gray, ASUS TUF Gaming A17 FA707RM-HX016, 라이젠7 5세대, 512GB, 8GB, Free DOS

 

맺음말

오늘은 Memory Footprint 용어를 살펴보았습니다. 

 

위에서 소개해드린 핵심 내용만 기억하시면 앞으로도 헷갈리지 않고

해외 오픈소스들의 설명을 읽어내는데 큰 힘이 될것으로 보입니다. 

 

이상으로 K-IN 이었습니다.

즐거운 하루되세요 

출처

 

 

반응형