===== BASIC METRICS -- Number of files: 76 -- Total bytecode bytes: 277944 -- Total instructions: 101238 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__ 25 6 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 24 ===== 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/osh/builtin_printf.pyc _ParseFormatStr str 59 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: 44441 ===== 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__ 165 9 _build/oil/bytecode-opy/osh/builtin.pyc 150 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 84 16 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 74 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__ 2622 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 1445 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 1419 11 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 1390 12 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1245 13 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 1077 14 _build/oil/bytecode-opy/osh/builtin.pyc 908 15 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 862 16 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 828 17 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 736 18 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 648 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 284 105 3782 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 3979 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 100 43 1793 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 284 105 3782 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 3 206 55 3979 3 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 120 41 2404 4 _build/oil/bytecode-opy/core/completion.pyc Matches 2 114 62 2772 5 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 101 52 3365 6 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 100 43 1793 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 88 42 1037 9 _build/oil/bytecode-opy/oil_lang/expr_to_ast.pyc Expr 2 75 48 1483 10 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 4 75 32 1242 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 25107 2 var 21716 3 cell 4 4 free 4 Common names # A tibble: 20 x 2 name n 1 self 2586 2 None 845 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__ 485 12 x1 446 13 _AbbreviatedTree 445 14 children 438 15 __module__ 433 16 PrettyLeaf 408 17 str 382 18 PrettyArray 372 19 AbbreviatedTree 361 20 PrettyTree 353 -- Total length of all 46831 names: 355200 -- Total length of 3308 unique names: 32959 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 4725 2 code 2044 3 NoneType 1643 4 int 1513 5 tuple 438 6 float 3 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 2044 2 CO_OPTIMIZED 1611 3 CO_FUTURE_PRINT_FUNCTION 787 4 CO_GENERATOR 32 5 CO_VARARGS 19 6 CO_VARKEYWORDS 5 ===== OPS Ops Used by Frequency # A tibble: 77 x 2 op_name n 1 LOAD_FAST 16378 2 LOAD_ATTR 13195 3 LOAD_CONST 12237 4 CALL_FUNCTION 8551 5 LOAD_GLOBAL 7486 6 STORE_FAST 4819 7 STORE_NAME 4703 8 POP_TOP 3798 9 RETURN_VALUE 3612 10 LOAD_NAME 3276 11 JUMP_FORWARD 2572 12 POP_JUMP_IF_FALSE 2495 13 MAKE_FUNCTION 2040 14 COMPARE_OP 1929 15 BUILD_TUPLE 1838 16 STORE_ATTR 1164 17 POP_BLOCK 803 18 IMPORT_FROM 779 19 JUMP_ABSOLUTE 655 20 RAISE_VARARGS 650 21 SETUP_LOOP 607 22 FOR_ITER 561 23 GET_ITER 561 24 BUILD_LIST 552 25 IMPORT_NAME 521 26 DUP_TOP 516 27 STORE_SUBSCR 446 28 BUILD_CLASS 433 29 LOAD_LOCALS 433 30 BINARY_SUBSCR 422 31 POP_JUMP_IF_TRUE 385 32 ROT_THREE 323 33 BINARY_ADD 287 34 JUMP_IF_TRUE_OR_POP 268 35 UNPACK_SEQUENCE 245 36 BINARY_MODULO 211 37 END_FINALLY 196 38 UNARY_NOT 166 39 SETUP_EXCEPT 158 40 UNARY_NEGATIVE 123 41 JUMP_IF_FALSE_OR_POP 101 42 SLICE+1 95 43 BREAK_LOOP 94 44 INPLACE_ADD 90 45 BUILD_MAP 82 46 BINARY_SUBTRACT 63 47 YIELD_VALUE 44 48 SETUP_FINALLY 38 49 ROT_TWO 26 50 SLICE+3 26 51 LIST_APPEND 25 52 SLICE+2 23 53 BINARY_MULTIPLY 20 54 BINARY_OR 11 55 DELETE_SLICE+0 11 56 INPLACE_SUBTRACT 9 57 LOAD_DEREF 9 58 BINARY_AND 8 59 BINARY_RSHIFT 8 60 DELETE_SUBSCR 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 13195 2 ATTR STORE_ATTR 1164 3 CLOSURE LOAD_CLOSURE 4 4 CONST LOAD_CONST 12237 5 DEREF LOAD_DEREF 9 6 DEREF STORE_DEREF 1 7 FAST LOAD_FAST 16378 8 FAST STORE_FAST 4819 9 FAST DELETE_FAST 6 10 GLOBAL LOAD_GLOBAL 7486 11 GLOBAL STORE_GLOBAL 3 12 LOCALS LOAD_LOCALS 433 13 NAME STORE_NAME 4703 14 NAME LOAD_NAME 3276 15 SUBSCR STORE_SUBSCR 446 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 779 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 3947 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3919 3 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_TOP 3919 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3913 5 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 3823 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_BLOCK 3823 7 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_BLOCK 3823 8 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_FORWARD 3811 9 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_FORWARD 3807 10 _build/oil/bytecode-opy/bin/oil.pyc ShellMain POP_JUMP_IF_FALSE 3774 ===== 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/core/process.pyc 50 7 _build/oil/bytecode-opy/osh/state.pyc 50 8 _build/oil/bytecode-opy/core/comp_ui.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 34 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