===== BASIC METRICS -- Number of files: 76 -- Total bytecode bytes: 279267 -- Total instructions: 101737 Duplicate path/name # A tibble: 6 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 133 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 133 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 133 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 133 5 _build/oil/bytecode-opy/osh/builtin.pyc __init__ 27 6 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 26 ===== 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/osh/builtin_printf.pyc _ParseFormatStr str 68 13 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc str 67 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: 44762 ===== 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 637 2 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Id 614 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 518 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 408 5 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 271 6 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 240 7 _build/oil/bytecode-opy/frontend/lex.pyc 198 8 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 169 9 _build/oil/bytecode-opy/osh/builtin.pyc 156 10 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 133 11 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 133 12 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 107 13 _build/oil/bytecode-opy/_devbuild/gen/grammar_nt.pyc 103 14 _build/oil/bytecode-opy/bin/oil.pyc 89 15 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc builtin_e 88 16 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 75 17 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Kind 68 18 _build/oil/bytecode-opy/osh/state.pyc 68 19 _build/oil/bytecode-opy/core/completion.pyc Matches 64 20 _build/oil/bytecode-opy/core/completion.pyc 62 Frames with many ops # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 10536 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 6609 3 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 2658 4 _build/oil/bytecode-opy/frontend/lex.pyc 2042 5 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 1758 6 _build/oil/bytecode-opy/core/completion.pyc Matches 1736 7 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 1682 8 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Id 1539 9 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 1513 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 1424 11 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 1417 12 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1245 13 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 1094 14 _build/oil/bytecode-opy/osh/builtin.pyc 934 15 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 862 16 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 842 17 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 736 18 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 665 19 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 639 20 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 596 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 308 2194 2 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 288 105 3851 3 _build/oil/bytecode-opy/frontend/lex.pyc 0 0 85 5934 4 _build/oil/bytecode-opy/core/completion.pyc Matches 2 114 62 2772 5 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 3 98 56 2208 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 3 206 55 3990 7 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 101 52 3365 8 _build/oil/bytecode-opy/oil_lang/expr_to_ast.pyc Expr 2 75 48 1483 9 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 1 3 47 1722 10 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 110 46 1981 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 288 105 3851 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 3 206 55 3990 3 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 121 41 2444 4 _build/oil/bytecode-opy/core/completion.pyc Matches 2 114 62 2772 5 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 110 46 1981 6 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 101 52 3365 7 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 3 98 56 2208 8 _build/oil/bytecode-opy/osh/builtin_printf.pyc __call__ 2 89 42 1077 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 5 76 34 1266 10 _build/oil/bytecode-opy/oil_lang/expr_to_ast.pyc Expr 2 75 48 1483 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 25197 2 var 21797 3 cell 4 4 free 4 Common names # A tibble: 20 x 2 name n 1 self 2603 2 None 849 3 append 842 4 spids 672 5 AssertionError 656 6 PrettyNode 620 7 fields 600 8 L 592 9 out_node 592 10 x0 548 11 __name__ 489 12 x1 446 13 _AbbreviatedTree 445 14 children 438 15 __module__ 435 16 PrettyLeaf 408 17 str 382 18 PrettyArray 372 19 AbbreviatedTree 361 20 PrettyTree 353 -- Total length of all 47002 names: 356238 -- Total length of 3328 unique names: 33127 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 4759 2 code 2058 3 NoneType 1654 4 int 1520 5 tuple 439 6 float 3 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 2058 2 CO_OPTIMIZED 1623 3 CO_FUTURE_PRINT_FUNCTION 801 4 CO_GENERATOR 33 5 CO_VARARGS 19 6 CO_VARKEYWORDS 5 ===== OPS Ops Used by Frequency # A tibble: 77 x 2 op_name n 1 LOAD_FAST 16457 2 LOAD_ATTR 13242 3 LOAD_CONST 12313 4 CALL_FUNCTION 8585 5 LOAD_GLOBAL 7534 6 STORE_FAST 4839 7 STORE_NAME 4720 8 POP_TOP 3824 9 RETURN_VALUE 3642 10 LOAD_NAME 3286 11 JUMP_FORWARD 2590 12 POP_JUMP_IF_FALSE 2511 13 MAKE_FUNCTION 2054 14 COMPARE_OP 1939 15 BUILD_TUPLE 1843 16 STORE_ATTR 1176 17 POP_BLOCK 804 18 IMPORT_FROM 780 19 JUMP_ABSOLUTE 656 20 RAISE_VARARGS 648 21 SETUP_LOOP 608 22 FOR_ITER 563 23 GET_ITER 563 24 BUILD_LIST 553 25 DUP_TOP 527 26 IMPORT_NAME 521 27 STORE_SUBSCR 450 28 BUILD_CLASS 435 29 LOAD_LOCALS 435 30 BINARY_SUBSCR 421 31 POP_JUMP_IF_TRUE 385 32 ROT_THREE 327 33 BINARY_ADD 287 34 JUMP_IF_TRUE_OR_POP 268 35 UNPACK_SEQUENCE 246 36 BINARY_MODULO 216 37 END_FINALLY 196 38 UNARY_NOT 164 39 SETUP_EXCEPT 159 40 UNARY_NEGATIVE 122 41 JUMP_IF_FALSE_OR_POP 102 42 SLICE+1 95 43 BREAK_LOOP 93 44 INPLACE_ADD 91 45 BUILD_MAP 82 46 BINARY_SUBTRACT 63 47 YIELD_VALUE 45 48 SETUP_FINALLY 37 49 ROT_TWO 27 50 SLICE+3 26 51 LIST_APPEND 25 52 SLICE+2 24 53 BINARY_MULTIPLY 20 54 BINARY_OR 11 55 DELETE_SLICE+0 11 56 DELETE_SUBSCR 9 57 INPLACE_SUBTRACT 9 58 LOAD_DEREF 9 59 BINARY_AND 8 60 BINARY_RSHIFT 8 61 CALL_FUNCTION_VAR 7 62 DELETE_FAST 6 63 WITH_CLEANUP 6 64 BINARY_LSHIFT 4 65 DUP_TOPX 4 66 LOAD_CLOSURE 4 67 MAKE_CLOSURE 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 13242 2 ATTR STORE_ATTR 1176 3 CLOSURE LOAD_CLOSURE 4 4 CONST LOAD_CONST 12313 5 DEREF LOAD_DEREF 9 6 DEREF STORE_DEREF 1 7 FAST LOAD_FAST 16457 8 FAST STORE_FAST 4839 9 FAST DELETE_FAST 6 10 GLOBAL LOAD_GLOBAL 7534 11 GLOBAL STORE_GLOBAL 3 12 LOCALS LOAD_LOCALS 435 13 NAME STORE_NAME 4720 14 NAME LOAD_NAME 3286 15 SUBSCR STORE_SUBSCR 450 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 780 2 IMPORT_NAME 521 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 3958 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3955 3 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3929 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_TOP 3929 5 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3923 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3864 7 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3861 8 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch BREAK_LOOP 3861 9 _build/oil/bytecode-opy/bin/oil.pyc ShellMain POP_JUMP_IF_FALSE 3843 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3837 ===== 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/word_eval.pyc 47 2 _build/oil/bytecode-opy/osh/expr_eval.pyc 48 3 _build/oil/bytecode-opy/osh/cmd_exec.pyc 49 4 _build/oil/bytecode-opy/osh/string_ops.pyc 49 5 _build/oil/bytecode-opy/bin/oil.pyc 50 6 _build/oil/bytecode-opy/osh/state.pyc 50 7 _build/oil/bytecode-opy/core/comp_ui.pyc 52 8 _build/oil/bytecode-opy/core/process.pyc 52 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 37 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