การเขียน Python Code ที่มีประสิทธิภาพ
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_profilerhero_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 Code ที่มีประสิทธิภาพ