Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
Neko:Lua
2010.08.08 11:24

루아의 메모리 관리 방식

루아마당
조회 수 5538 추천 수 0 댓글 0
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄

원문: http://cafe.naver.com/luamadang/73

 

루아의 메모리 관리는 자동적으로 이루어 집니다.  이 말은 루아 프로그래머가 새로 생성되는 object 에 대한 메모리를 할당 하고 해제하는 것에 신경을 쓰지 않아도 된다는 말이죠.

 

루아는 garbage collector 라는 것을 돌려 메모리 관리를 자동으로 하도록 되어 있습니다.

이러한 일은 "from time to time" , 즉 때때로이죠.. 가끔 수행한다는 뜻으로 해석해도 될 듯 합니다.

 

자동으로 해제되는 메모리들은 루아에서 더이상 접근할 수 없는 메모리들을 말합니다. (no longer accessible from lua)

이러한 메모리들은 tables, userdata, functions, threads, strings, 등등 입니다.

 

루아의 garbage collector 방식은 "Mark and Sweep algorithm" 을 사용 합니다.

이 방식은 garbage collection 방식중 처음으로 개발된 방식으로 가장 많이 사용되는 방식중 하나 입니다.

 

이 방식에 대하여 설명은

http://www.brpreiss.com/books/opus5/html/page424.html 

를 참조하시기 바랍니다.

 

간단하게 설명하면,

mark and sweep algorithm 은 두 단계로 동작 합니다.

 

mark phase : 첫번째로는 모든 접근 가능한 객체들을 찾아서 mark 를 합니다. 이를 mark phase 라 합니다.


sweep phase : 두번째 단계로 garbage collection 알고리즘은 모든 힙 메모리를 스켄 합니다. 그리고 unmarked 즉 mark 가 되지 않은 메모리들을 수거 합니다. 두번째 단계를 sweep phase 라 합니다.

루아 시스템이 garbage collection 을 수행할 때는 루아 실행이 순간적으로 멈추게 됩니다.

그러므로 너무 자주 발생하면 속도에 영향을 줄 수 있으며, 그 반대일 경우에는 메모리 사용량이 늘어날 것 입니다.

속도 또는 메모리에 문제가 있을 경우 , 이를 적정하게 맞추어 주어야 합니다.

 

루아는 garbage-collection 의 수행을 주기적으로 합니다. 이 주기를 제어하기 위해서 두가지의 값을 사용합니다.

    1. 동적 할당 메모리 카운트 -- 동적으로 할당된 메모리가 얼마인지를 카운트 한다.
    2. threshold  -- 문턱값, 즉 garbage - collection 이 수행되어지는 경계값.

동적 할당 메모리의 크기가 threshold 문턱값에 다다를때 루아는 garbage collection을 수행 합니다. 이때 죽은 메모리를 회수하게 되는 것 입니다.

 

0 추천 0 비추천
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '0'

Category
  • 연시만
  • 연시만2
  • VNAP
  • Vasilriot
  • Nekonovel
    • Neko:기초
    • Neko:응용
    • Neko:Lua
    • Neko:Plug-in
    • Neko:기타
  • Ren'Py
  • 피니엔진
  • TyranoBuilder
  • Visual Novel Maker
  • 기타
List of Articles
분류 제목 글쓴이 날짜 조회 수
Ren'Py 렌파이 관련 유용한 링크 모음 3 file 습작 2012.12.02 18376
Nekonovel 네코노벨 관련 유용한 링크 모음 1 file 습작 2012.11.19 12551
Neko:기타 쓰레드에 '대기' 명령어를 넣었을 때 나타날 수 있는 현상 file 하늘바라KSND 2014.11.27 1174
Neko:응용 네코노벨 미니게임 관련 스크립트-글라스 스노우 하늘바라KSND 2013.06.27 3469
Neko:기초 네코노벨 무작정 따라하기 - 2편 : 로고만들기 9 file 습작 2012.12.21 6299
Neko:기초 네코노벨 무작정 따라하기 - 1편 : 둘러보기 2 file 습작 2012.12.08 12807
Neko:Lua 마인크래프트에서 루아언어를 써 Boa요! 2 철쭉 2012.07.21 4277
Neko:Lua Lua for Windows 1 루아마당 2010.08.08 5694
Neko:Lua LUA 란 무엇인가? 6 루아마당 2010.08.08 7316
Neko:Lua 루아의 메모리 관리 방식 루아마당 2010.08.08 5538
Neko:Lua 루아 스크립트를 1 무뇌인 2010.04.20 6002
Neko:Lua 비쥬얼 C++에 루아 연동시키기- file Saber 2010.01.02 8089
Neko:Lua 좀비서바이벌 1.11b 버전 Lua 스크립트 16 판져중위 2009.11.30 9438
Neko:Lua 루아에 잘못 알고계신분이 있는거 같아서 몇줄 적습니다. 16 코르뉴 2009.09.25 8208
Neko:Lua 루아가뭔가요 10 영웅 2009.09.24 6255
Neko:Lua 루아스크립트란 무엇인가? 9 행운 2009.06.11 8536
Neko:Lua 루아가 뭐죠? 11 sooe 2009.06.09 7295
Neko:Lua 루아에 대하여 궁금한점 18 아하!잘봤어요. 2009.05.04 7223
Neko:Lua 루아의 재미있는 기능! 15 엠피군 2009.01.18 7764
Neko:Lua 루아 스크립트 기초 강좌 2부 5 백호 2009.01.12 7847
Neko:Lua 루아 스크립트 기초 강좌 1부 6 백호 2009.01.12 13732
Neko:Lua Lua 시작 [펌] 6 나뚜루 2009.01.10 7535
쓰기
Board Pagination Prev 1 2 Next
/ 2
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs