===== BASIC METRICS -- Number of files: 109 -- Total bytecode bytes: 425486 -- Total instructions: 156028 Duplicate path/name # A tibble: 6 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 165 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 165 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 165 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 165 5 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc AbbreviatedTree 32 6 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 32 ===== BIG STRINGS path code_name type len_or_val 1 _build/oil/bytecode-opy/qsn_/qsn.pyc str 469 2 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineFlags str 324 3 _build/oil/bytecode-opy/qsn_/qsn.pyc str 323 4 _build/oil/bytecode-opy/asdl/format.pyc FileHeader str 188 5 _build/oil/bytecode-opy/frontend/lexer_def.pyc str 177 6 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc str 139 7 _build/oil/bytecode-opy/osh/cmd_parse.pyc ParseSimpleCommand str 108 8 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineFlags str 103 9 _build/oil/bytecode-opy/oil_lang/builtin_oil.pyc str 101 10 _build/oil/bytecode-opy/osh/cmd_parse.pyc ParseSimpleCommand str 101 11 _build/oil/bytecode-opy/osh/builtin_assign.pyc Run str 95 12 _build/oil/bytecode-opy/core/pure.pyc RunSimpleCommand str 94 13 _build/oil/bytecode-opy/core/executor.pyc RunSimpleCommand str 92 14 _build/oil/bytecode-opy/core/shell.pyc OnChange str 91 15 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 90 16 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _MutateClassLiteral str 89 17 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineFlags str 89 18 _build/oil/bytecode-opy/oil_lang/regex_translate.pyc AsPosixEre str 78 19 _build/oil/bytecode-opy/osh/builtin_printf.pyc Run str 75 20 _build/oil/bytecode-opy/osh/builtin_assign.pyc _UnsetVar str 72 -- total string bytes: 65384 ===== FRAMES Frames with many consts # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 766 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 762 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 742 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 668 5 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Id 361 6 _build/oil/bytecode-opy/frontend/id_kind_def.pyc AddKinds 311 7 _build/oil/bytecode-opy/_devbuild/gen/option_asdl.pyc 254 8 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 239 9 _build/oil/bytecode-opy/frontend/lexer_def.pyc 229 10 _build/oil/bytecode-opy/_devbuild/gen/help_.pyc 182 11 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 165 12 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 165 13 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 130 14 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 125 15 _build/oil/bytecode-opy/frontend/option_def.pyc 101 16 _build/oil/bytecode-opy/_devbuild/gen/arg_types.pyc __init__ 97 17 _build/oil/bytecode-opy/frontend/flag_def.pyc 95 18 _build/oil/bytecode-opy/_devbuild/gen/option_asdl.pyc option_i 94 19 _build/oil/bytecode-opy/_devbuild/gen/grammar_nt.pyc 89 20 _build/oil/bytecode-opy/core/completion.pyc 78 Frames with many ops # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 11956 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 9144 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 3160 4 _build/oil/bytecode-opy/_devbuild/gen/id_kind.pyc 3141 5 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 2711 6 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch 2533 7 _build/oil/bytecode-opy/frontend/lexer_def.pyc 2133 8 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 2020 9 _build/oil/bytecode-opy/core/completion.pyc Matches 1751 10 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 1674 11 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 1484 12 _build/oil/bytecode-opy/core/shell.pyc Main 1392 13 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr 1298 14 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1270 15 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 1070 16 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 1063 17 _build/oil/bytecode-opy/osh/builtin_printf.pyc Run 963 18 _build/oil/bytecode-opy/_devbuild/gen/arg_types.pyc __init__ 930 19 _build/oil/bytecode-opy/osh/builtin_misc.pyc Run 918 20 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval 906 Frames with large stacksize path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/_devbuild/gen/help_.pyc 0 0 181 553 2 _build/oil/bytecode-opy/core/shell.pyc Main 6 298 114 3920 3 _build/oil/bytecode-opy/core/pure.pyc Main 6 214 98 2539 4 _build/oil/bytecode-opy/frontend/lexer_def.pyc 0 0 92 6169 5 _build/oil/bytecode-opy/osh/builtin_assign.pyc _PrintVariables 5 90 74 2063 6 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch 3 335 69 7137 7 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr 2 187 68 3664 8 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval 2 125 63 2592 9 _build/oil/bytecode-opy/core/completion.pyc Matches 2 115 62 2792 10 _build/oil/bytecode-opy/frontend/option_def.pyc 0 0 61 952 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch 3 335 69 7137 2 _build/oil/bytecode-opy/core/shell.pyc Main 6 298 114 3920 3 _build/oil/bytecode-opy/core/pure.pyc Main 6 214 98 2539 4 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr 2 187 68 3664 5 _build/oil/bytecode-opy/osh/builtin_printf.pyc Run 2 149 57 2693 6 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 5 129 50 1970 7 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval 2 125 63 2592 8 _build/oil/bytecode-opy/core/completion.pyc Matches 2 115 62 2792 9 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalB 2 107 49 1643 10 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 106 52 3440 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 39035 2 var 34347 3 free 13 4 cell 12 Common names # A tibble: 20 x 2 name n 1 self 3731 2 None 1440 3 append 1186 4 AssertionError 860 5 NewRecord 816 6 fields 814 7 L 792 8 out_node 788 9 field 760 10 x0 748 11 __name__ 650 12 __module__ 608 13 _AbbreviatedTree 592 14 hnode 536 15 x1 514 16 children 506 17 __init__ 504 18 color_e 498 19 Id 486 20 name 484 -- Total length of all 73407 names: 536992 -- Total length of 4533 unique names: 44508 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 6443 2 code 2995 3 int 2724 4 NoneType 2432 5 tuple 1039 6 float 6 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 2995 2 CO_OPTIMIZED 2389 3 CO_FUTURE_PRINT_FUNCTION 1294 4 CO_VARARGS 31 5 CO_GENERATOR 25 6 CO_VARKEYWORDS 11 ===== OPS Ops Used by Frequency # A tibble: 78 x 2 op_name n 1 LOAD_FAST 24280 2 LOAD_ATTR 19921 3 LOAD_CONST 19083 4 CALL_FUNCTION 13356 5 LOAD_GLOBAL 12838 6 STORE_NAME 7589 7 STORE_FAST 7577 8 RETURN_VALUE 5398 9 POP_TOP 5363 10 JUMP_FORWARD 4111 11 POP_JUMP_IF_FALSE 4064 12 LOAD_NAME 3887 13 COMPARE_OP 3129 14 MAKE_FUNCTION 2986 15 IMPORT_FROM 1973 16 DUP_TOP 1708 17 STORE_SUBSCR 1616 18 STORE_ATTR 1539 19 BUILD_TUPLE 1415 20 ROT_THREE 1394 21 IMPORT_NAME 1125 22 POP_BLOCK 992 23 BUILD_LIST 960 24 BINARY_SUBSCR 828 25 RAISE_VARARGS 818 26 JUMP_ABSOLUTE 813 27 SETUP_LOOP 706 28 FOR_ITER 664 29 GET_ITER 664 30 BUILD_CLASS 606 31 LOAD_LOCALS 606 32 POP_JUMP_IF_TRUE 486 33 UNPACK_SEQUENCE 323 34 BINARY_ADD 306 35 END_FINALLY 286 36 BINARY_MODULO 275 37 JUMP_IF_FALSE_OR_POP 219 38 UNARY_NEGATIVE 178 39 UNARY_NOT 173 40 LOAD_DEREF 170 41 SETUP_EXCEPT 160 42 BUILD_MAP 159 43 ROT_TWO 128 44 SETUP_FINALLY 126 45 BREAK_LOOP 118 46 WITH_CLEANUP 104 47 SLICE+1 102 48 INPLACE_ADD 101 49 DELETE_FAST 76 50 JUMP_IF_TRUE_OR_POP 73 51 BINARY_SUBTRACT 71 52 LIST_APPEND 54 53 BINARY_AND 41 54 YIELD_VALUE 37 55 SLICE+2 31 56 SLICE+3 31 57 BINARY_MULTIPLY 27 58 BINARY_LSHIFT 20 59 BINARY_OR 15 60 BINARY_RSHIFT 15 61 INPLACE_OR 15 62 LOAD_CLOSURE 13 63 INPLACE_SUBTRACT 12 64 DELETE_SLICE+0 11 65 CALL_FUNCTION_VAR_KW 10 66 DELETE_SUBSCR 9 67 MAKE_CLOSURE 9 68 STORE_DEREF 9 69 BINARY_DIVIDE 7 70 CALL_FUNCTION_VAR 4 71 BINARY_XOR 3 72 STORE_GLOBAL 3 73 UNARY_INVERT 3 74 BINARY_FLOOR_DIVIDE 2 75 BINARY_POWER 1 76 DUP_TOPX 1 77 INPLACE_MULTIPLY 1 78 INPLACE_RSHIFT 1 -- Total unique opcodes: 78 Unused opcodes: op_name 1 BINARY_TRUE_DIVIDE 2 BUILD_SET 3 BUILD_SLICE 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_POWER 21 INPLACE_TRUE_DIVIDE 22 INPLACE_XOR 23 MAP_ADD 24 NOP 25 PRINT_EXPR 26 PRINT_ITEM 27 PRINT_ITEM_TO 28 PRINT_NEWLINE 29 PRINT_NEWLINE_TO 30 ROT_FOUR 31 SETUP_WITH 32 SET_ADD 33 SLICE+0 34 STOP_CODE 35 STORE_MAP 36 STORE_SLICE+0 37 STORE_SLICE+1 38 STORE_SLICE+2 39 STORE_SLICE+3 40 UNARY_CONVERT 41 UNARY_POSITIVE Memory Operations: # A tibble: 15 x 3 kind op_name n 1 ATTR LOAD_ATTR 19921 2 ATTR STORE_ATTR 1539 3 CLOSURE LOAD_CLOSURE 13 4 CONST LOAD_CONST 19083 5 DEREF LOAD_DEREF 170 6 DEREF STORE_DEREF 9 7 FAST LOAD_FAST 24280 8 FAST STORE_FAST 7577 9 FAST DELETE_FAST 76 10 GLOBAL LOAD_GLOBAL 12838 11 GLOBAL STORE_GLOBAL 3 12 LOCALS LOAD_LOCALS 606 13 NAME STORE_NAME 7589 14 NAME LOAD_NAME 3887 15 SUBSCR STORE_SUBSCR 1616 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 1973 2 IMPORT_NAME 1125 Large op_arg (jump targets): path code_name op_name op_arg 1 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch POP_JUMP_IF_FALSE 7099 2 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch POP_JUMP_IF_FALSE 7092 3 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch BREAK_LOOP 7092 4 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch POP_JUMP_IF_FALSE 7078 5 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch SETUP_FINALLY 7074 6 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch POP_JUMP_IF_FALSE 6954 7 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch JUMP_ABSOLUTE 6860 8 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch POP_BLOCK 6860 9 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch JUMP_ABSOLUTE 6844 10 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch POP_BLOCK 6844 ===== 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/mycpp/__init__.pyc 2 8 _build/oil/bytecode-opy/oil_lang/__init__.pyc 2 9 _build/oil/bytecode-opy/osh/__init__.pyc 2 10 _build/oil/bytecode-opy/pgen2/__init__.pyc 2 11 _build/oil/bytecode-opy/pylib/__init__.pyc 2 12 _build/oil/bytecode-opy/qsn_/__init__.pyc 2 13 _build/oil/bytecode-opy/tools/__init__.pyc 2 14 _build/oil/bytecode-opy/_devbuild/gen/grammar_nt.pyc 3 15 _build/oil/bytecode-opy/_devbuild/gen/help_.pyc 4 16 _build/oil/bytecode-opy/core/ansi.pyc 6 17 _build/oil/bytecode-opy/typing.pyc 6 18 _build/oil/bytecode-opy/pylib/cgi.pyc 8 19 _build/oil/bytecode-opy/stat.pyc 10 20 _build/oil/bytecode-opy/_devbuild/gen/id_kind.pyc 12 Files with many ops: # A tibble: 10 x 2 # Groups: path [10] path n 1 _build/oil/bytecode-opy/osh/builtin_pure.pyc 50 2 _build/oil/bytecode-opy/core/process.pyc 51 3 _build/oil/bytecode-opy/osh/string_ops.pyc 51 4 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc 53 5 _build/oil/bytecode-opy/osh/word_eval.pyc 53 6 _build/oil/bytecode-opy/core/comp_ui.pyc 55 7 _build/oil/bytecode-opy/core/completion.pyc 57 8 _build/oil/bytecode-opy/core/state.pyc 57 9 _build/oil/bytecode-opy/osh/cmd_eval.pyc 57 10 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc 60 Unique ops for files that just parse: # A tibble: 11 x 2 # Groups: path [11] path n 1 _build/oil/bytecode-opy/osh/arith_parse.pyc 20 2 _build/oil/bytecode-opy/frontend/lexer_def.pyc 25 3 _build/oil/bytecode-opy/frontend/py_reader.pyc 26 4 _build/oil/bytecode-opy/frontend/reader.pyc 28 5 _build/oil/bytecode-opy/osh/bool_parse.pyc 31 6 _build/oil/bytecode-opy/pgen2/parse.pyc 35 7 _build/oil/bytecode-opy/frontend/lexer.pyc 36 8 _build/oil/bytecode-opy/frontend/parse_lib.pyc 36 9 _build/oil/bytecode-opy/oil_lang/expr_parse.pyc 43 10 _build/oil/bytecode-opy/osh/word_parse.pyc 43 11 _build/oil/bytecode-opy/osh/cmd_parse.pyc 49 -- Unique opcodes for parsing: 55