효율적인 Python 코드 작성
Logan Thomas
Scientific Software Technical Trainer, Enthought
import sys
nums_list = [*range(1000)]
sys.getsizeof(nums_list)
9112
import numpy as np
nums_np = np.array(range(1000))
sys.getsizeof(nums_np)
8096
memory_profilerpip install memory_profiler
memory_profiler 패키지 사용%load_ext memory_profiler
%mprun -f convert_units convert_units(heroes, hts, wts)
memory_profiler 사용 시 함수를 임포트해야 합니다hero_funcs.py
from hero_funcs import convert_units
%load_ext memory_profiler
%mprun -f convert_units convert_units(heroes, hts, wts)
%mprun -f convert_units convert_units(heroes, hts, wts)

%mprun -f convert_units convert_units(heroes, hts, wts)

%mprun -f convert_units convert_units(heroes, hts, wts)

%mprun -f convert_units convert_units(heroes, hts, wts)

%mprun -f convert_units convert_units(heroes, hts, wts)

%mprun -f convert_units convert_units(heroes, hts, wts)

%mprun -f convert_units convert_units(heroes, hts, wts)

이 예제에서는 35,000개의 히어로를 무작위로 샘플링한 데이터를 사용합니다.
(원본 480개 슈퍼히어로 데이터셋이 아님)
%mprun -f convert_units convert_units(heroes, hts, wts)

메모리 할당량이 작으면 0.0 MiB로 출력될 수 있습니다.
(원본 480개 슈퍼히어로 데이터셋 사용)
%mprun -f convert_units convert_units(heroes, hts, wts)

효율적인 Python 코드 작성