[Python]Lazy Import

Give Me A Job·2025년 7월 28일

개념

스크립트 시작 시 모든 모듈을 미리 로드하지 않고, 사용에 필요한 시점까지 로딩을 지연시키는 기법

장점

  1. 빠른 시작 : 모듈 로딩을 미루어 시작 자체를 앞당길 수 있다. 무거운 라이브러리를 사용하는 경우 더 체감이 크다.
  2. 메모리 절약 : 프로그램 실행시 사용되는 모듈만 로드된다. 따라서 사용하지 않는 모듈은 메모리에 로드되지 않으므로 메모리도 절약된다.

단점

  1. 런타임 오류 : import문 실행이 뒤로 미뤄지면서 실패가 프로그램 실행 시작시가 아닌 실행 도중에 발생할 수 있다.
  2. 가독성 저하 : 통상적으로 문서 상단에 import문이 함수나 조건문 내부로 분산되어 작성됨으로써 코드를 한눈에 이해하기 어려워진다.
  3. Import 반복 : 함수 실행시마다 import문을 실행하게 되어 성능이 저하될 수 있다.

예시

def load_model(model):

	if model == 'GPT':
    	from models import GPT
		model = GPT.load()
    elif model == 'Gemini':
    	from models import Gemini
        model = Gemini.load()
    ...
    
    return model
profile
살려조용...

0개의 댓글