===== BASIC METRICS -- Number of files: 77 -- Total bytecode bytes: 299942 -- Total instructions: 109184 Duplicate path/name # A tibble: 6 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 158 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 158 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 158 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 158 5 _build/oil/bytecode-opy/osh/builtin.pyc __init__ 24 6 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 23 ===== BIG STRINGS path code_name type len_or_val 1 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineFlags str 324 2 _build/oil/bytecode-opy/asdl/format.pyc FileHeader str 188 3 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineFlags str 103 4 _build/oil/bytecode-opy/osh/state.pyc Set str 91 5 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 90 6 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineFlags str 89 7 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 72 8 _build/oil/bytecode-opy/core/completion.pyc Matches str 71 9 _build/oil/bytecode-opy/osh/state.pyc _SetOption str 71 10 _build/oil/bytecode-opy/osh/builtin_comp.pyc str 70 11 _build/oil/bytecode-opy/tools/readlink.pyc str 69 12 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc str 67 13 _build/oil/bytecode-opy/osh/expr_eval.pyc _ValToArith str 66 14 _build/oil/bytecode-opy/osh/word_eval.pyc EvalWordToString str 66 15 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 62 16 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 62 17 _build/oil/bytecode-opy/core/process.pyc MaybeRemove str 61 18 _build/oil/bytecode-opy/osh/cmd_exec.pyc _MakeProcess str 59 19 _build/oil/bytecode-opy/osh/cmd_parse.pyc _AppendMoreEnv str 59 20 _build/oil/bytecode-opy/osh/word_parse.pyc _ReadLikeDQ str 59 -- total string bytes: 47839 ===== FRAMES Frames with many consts # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 760 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 619 3 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Id 618 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 466 5 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 271 6 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 242 7 _build/oil/bytecode-opy/frontend/lex.pyc 199 8 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 158 9 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 158 10 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 154 11 _build/oil/bytecode-opy/osh/builtin.pyc 147 12 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 111 13 _build/oil/bytecode-opy/_devbuild/gen/grammar_nt.pyc 103 14 _build/oil/bytecode-opy/bin/oil.pyc 90 15 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc builtin_e 90 16 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 84 17 _build/oil/bytecode-opy/osh/state.pyc 74 18 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 69 19 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Kind 68 20 _build/oil/bytecode-opy/core/completion.pyc Matches 64 Frames with many ops # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 12686 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 8033 3 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 2360 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 2118 5 _build/oil/bytecode-opy/frontend/lex.pyc 2054 6 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 1918 7 _build/oil/bytecode-opy/core/completion.pyc Matches 1736 8 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 1585 9 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 1552 10 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Id 1549 11 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 1515 12 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1245 13 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 1236 14 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 1012 15 _build/oil/bytecode-opy/osh/builtin.pyc 865 16 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 799 17 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 741 18 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 740 19 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 644 20 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 598 Frames with large stacksize path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 0 0 310 2206 2 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 299 107 4107 3 _build/oil/bytecode-opy/frontend/lex.pyc 0 0 87 5970 4 _build/oil/bytecode-opy/core/completion.pyc Matches 2 114 62 2772 5 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 99 62 2334 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 3 220 59 4366 7 _build/oil/bytecode-opy/osh/builtin_printf.pyc __call__ 2 90 52 1258 8 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 101 52 3365 9 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 116 50 2055 10 _build/oil/bytecode-opy/oil_lang/expr_to_ast.pyc Expr 2 73 48 1445 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 299 107 4107 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 3 220 59 4366 3 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 119 41 2333 4 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 116 50 2055 5 _build/oil/bytecode-opy/core/completion.pyc Matches 2 114 62 2772 6 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 101 52 3365 7 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 99 62 2334 8 _build/oil/bytecode-opy/osh/builtin_printf.pyc __call__ 2 90 52 1258 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 5 79 36 1348 10 _build/oil/bytecode-opy/oil_lang/expr_to_ast.pyc Expr 2 73 48 1445 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 27139 2 var 23375 3 cell 5 4 free 5 Common names # A tibble: 20 x 2 name n 1 self 2852 2 None 959 3 append 950 4 spids 770 5 PrettyNode 728 6 AssertionError 718 7 fields 708 8 L 700 9 out_node 700 10 x0 652 11 __name__ 535 12 x1 534 13 _AbbreviatedTree 526 14 children 518 15 PrettyLeaf 486 16 __module__ 471 17 PrettyArray 450 18 str 442 19 AbbreviatedTree 432 20 PrettyTree 424 -- Total length of all 50524 names: 380298 -- Total length of 3437 unique names: 34165 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 5127 2 code 2220 3 NoneType 1779 4 int 1602 5 tuple 456 6 float 3 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 2220 2 CO_OPTIMIZED 1749 3 CO_FUTURE_PRINT_FUNCTION 820 4 CO_GENERATOR 34 5 CO_VARARGS 19 6 CO_VARKEYWORDS 5 ===== OPS Ops Used by Frequency # A tibble: 77 x 2 op_name n 1 LOAD_FAST 17744 2 LOAD_ATTR 14238 3 LOAD_CONST 13098 4 CALL_FUNCTION 9288 5 LOAD_GLOBAL 8096 6 STORE_FAST 5238 7 STORE_NAME 5071 8 POP_TOP 4094 9 RETURN_VALUE 3924 10 LOAD_NAME 3451 11 JUMP_FORWARD 2744 12 POP_JUMP_IF_FALSE 2664 13 MAKE_FUNCTION 2215 14 COMPARE_OP 2069 15 BUILD_TUPLE 2038 16 STORE_ATTR 1276 17 POP_BLOCK 881 18 IMPORT_FROM 809 19 JUMP_ABSOLUTE 727 20 RAISE_VARARGS 703 21 SETUP_LOOP 677 22 FOR_ITER 629 23 GET_ITER 629 24 BUILD_LIST 604 25 DUP_TOP 539 26 IMPORT_NAME 534 27 BUILD_CLASS 471 28 LOAD_LOCALS 471 29 STORE_SUBSCR 456 30 BINARY_SUBSCR 439 31 POP_JUMP_IF_TRUE 435 32 ROT_THREE 330 33 JUMP_IF_TRUE_OR_POP 313 34 BINARY_ADD 291 35 UNPACK_SEQUENCE 247 36 BINARY_MODULO 219 37 END_FINALLY 204 38 UNARY_NOT 167 39 SETUP_EXCEPT 165 40 UNARY_NEGATIVE 121 41 JUMP_IF_FALSE_OR_POP 104 42 SLICE+1 97 43 INPLACE_ADD 94 44 BREAK_LOOP 92 45 BUILD_MAP 86 46 BINARY_SUBTRACT 63 47 YIELD_VALUE 46 48 SETUP_FINALLY 39 49 LIST_APPEND 27 50 ROT_TWO 27 51 SLICE+3 27 52 SLICE+2 24 53 BINARY_MULTIPLY 21 54 LOAD_DEREF 16 55 BINARY_OR 11 56 DELETE_SLICE+0 11 57 INPLACE_SUBTRACT 11 58 DELETE_SUBSCR 10 59 BINARY_AND 8 60 BINARY_RSHIFT 8 61 DELETE_FAST 6 62 WITH_CLEANUP 6 63 CALL_FUNCTION_VAR 5 64 LOAD_CLOSURE 5 65 MAKE_CLOSURE 5 66 BINARY_LSHIFT 4 67 DUP_TOPX 4 68 CALL_FUNCTION_VAR_KW 3 69 STORE_GLOBAL 3 70 BINARY_DIVIDE 2 71 BINARY_XOR 2 72 BUILD_SLICE 2 73 INPLACE_MULTIPLY 2 74 BINARY_FLOOR_DIVIDE 1 75 INPLACE_RSHIFT 1 76 STORE_DEREF 1 77 UNARY_INVERT 1 -- Total unique opcodes: 77 Unused opcodes: op_name 1 BINARY_POWER 2 BINARY_TRUE_DIVIDE 3 BUILD_SET 4 CALL_FUNCTION_KW 5 CONTINUE_LOOP 6 DELETE_ATTR 7 DELETE_GLOBAL 8 DELETE_NAME 9 DELETE_SLICE+1 10 DELETE_SLICE+2 11 DELETE_SLICE+3 12 EXEC_STMT 13 EXTENDED_ARG 14 IMPORT_STAR 15 INPLACE_AND 16 INPLACE_DIVIDE 17 INPLACE_FLOOR_DIVIDE 18 INPLACE_LSHIFT 19 INPLACE_MODULO 20 INPLACE_OR 21 INPLACE_POWER 22 INPLACE_TRUE_DIVIDE 23 INPLACE_XOR 24 MAP_ADD 25 NOP 26 PRINT_EXPR 27 PRINT_ITEM 28 PRINT_ITEM_TO 29 PRINT_NEWLINE 30 PRINT_NEWLINE_TO 31 ROT_FOUR 32 SETUP_WITH 33 SET_ADD 34 SLICE+0 35 STOP_CODE 36 STORE_MAP 37 STORE_SLICE+0 38 STORE_SLICE+1 39 STORE_SLICE+2 40 STORE_SLICE+3 41 UNARY_CONVERT 42 UNARY_POSITIVE Memory Operations: # A tibble: 15 x 3 kind op_name n 1 ATTR LOAD_ATTR 14238 2 ATTR STORE_ATTR 1276 3 CLOSURE LOAD_CLOSURE 5 4 CONST LOAD_CONST 13098 5 DEREF LOAD_DEREF 16 6 DEREF STORE_DEREF 1 7 FAST LOAD_FAST 17744 8 FAST STORE_FAST 5238 9 FAST DELETE_FAST 6 10 GLOBAL LOAD_GLOBAL 8096 11 GLOBAL STORE_GLOBAL 3 12 LOCALS LOAD_LOCALS 471 13 NAME STORE_NAME 5071 14 NAME LOAD_NAME 3451 15 SUBSCR STORE_SUBSCR 456 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 809 2 IMPORT_NAME 534 Large op_arg (jump targets): path code_name op_name op_arg 1 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 4362 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_TOP 4362 3 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 4356 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 4294 5 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch BREAK_LOOP 4294 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 4262 7 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_FORWARD 4253 8 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 4238 9 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 4158 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 4158 ===== UNIQUE OPS Files with few ops: # A tibble: 20 x 2 # Groups: path [20] path n 1 _build/oil/bytecode-opy/asdl/__init__.pyc 2 2 _build/oil/bytecode-opy/bin/__init__.pyc 2 3 _build/oil/bytecode-opy/core/__init__.pyc 2 4 _build/oil/bytecode-opy/_devbuild/gen/__init__.pyc 2 5 _build/oil/bytecode-opy/_devbuild/__init__.pyc 2 6 _build/oil/bytecode-opy/frontend/__init__.pyc 2 7 _build/oil/bytecode-opy/oil_lang/__init__.pyc 2 8 _build/oil/bytecode-opy/osh/__init__.pyc 2 9 _build/oil/bytecode-opy/pgen2/__init__.pyc 2 10 _build/oil/bytecode-opy/pylib/__init__.pyc 2 11 _build/oil/bytecode-opy/tools/__init__.pyc 2 12 _build/oil/bytecode-opy/_devbuild/gen/grammar_nt.pyc 3 13 _build/oil/bytecode-opy/typing.pyc 6 14 _build/oil/bytecode-opy/asdl/const.pyc 7 15 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 7 16 _build/oil/bytecode-opy/stat.pyc 10 17 _build/oil/bytecode-opy/pylib/cgi.pyc 11 18 _build/oil/bytecode-opy/oil_lang/cmd_exec.pyc 12 19 _build/oil/bytecode-opy/_devbuild/gen/types_asdl.pyc 14 20 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 15 Files with many ops: # A tibble: 10 x 2 # Groups: path [10] path n 1 _build/oil/bytecode-opy/osh/cmd_exec.pyc 48 2 _build/oil/bytecode-opy/osh/expr_eval.pyc 48 3 _build/oil/bytecode-opy/bin/oil.pyc 50 4 _build/oil/bytecode-opy/osh/string_ops.pyc 50 5 _build/oil/bytecode-opy/osh/word_eval.pyc 50 6 _build/oil/bytecode-opy/osh/state.pyc 51 7 _build/oil/bytecode-opy/core/comp_ui.pyc 52 8 _build/oil/bytecode-opy/core/process.pyc 53 9 _build/oil/bytecode-opy/osh/builtin.pyc 54 10 _build/oil/bytecode-opy/core/completion.pyc 57 Unique ops for files that just parse: # A tibble: 10 x 2 # Groups: path [10] path n 1 _build/oil/bytecode-opy/frontend/lex.pyc 23 2 _build/oil/bytecode-opy/osh/arith_parse.pyc 23 3 _build/oil/bytecode-opy/osh/bool_parse.pyc 31 4 _build/oil/bytecode-opy/frontend/reader.pyc 33 5 _build/oil/bytecode-opy/frontend/lexer.pyc 35 6 _build/oil/bytecode-opy/frontend/parse_lib.pyc 35 7 _build/oil/bytecode-opy/pgen2/parse.pyc 36 8 _build/oil/bytecode-opy/osh/word_parse.pyc 39 9 _build/oil/bytecode-opy/oil_lang/expr_parse.pyc 42 10 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 -- Unique opcodes for parsing: 54