obtain figures for calculating an upper bound on your program' memory footprint--or at the very leastyou can get enough information to carry out "back of the envelopeestimate disassembly the dis module can be used to disassemble python functionsmethodsand classes into low-level interpreter instructions the module defines function dis(that can be used like thisfrom dis import dis dis(split load_fast load_attr load_fast call_function store_fast (line (split (delimiter (fields load_global jump_if_false pop_top (types (to build_list dup_top store_fast load_global load_global load_fast call_function get_iter for_iter unpack_sequence store_fast store_fast load_fast load_fast load_fast call_function list_append jump_absolute delete_fast store_fast jump_forward pop_top >>> > load_fast return_value ( [ ] (zip (types (fields (to (ty (val ( [ ] (ty (val ( [ ] (fields (to (fieldsexpert programmers can use this information in two ways firsta disassembly will show you exactly what operations are involved in executing function with careful studyyou might spot opportunities for making speedups secondif you are programming with threadseach line printed in the disassembly represents single interpreter operation--each of which has atomic execution thusif you are trying to track down tricky race conditionthis information might be useful lib fl ff