===== BASIC METRICS -- Number of files: 69 -- Total bytecode bytes: 256949 -- Total instructions: 93695 Duplicate path/name # A tibble: 6 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 116 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 116 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 116 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 116 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/_devbuild/gen/syntax_asdl.pyc str 67 13 _build/oil/bytecode-opy/osh/word_eval.pyc EvalWordToString str 66 14 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 62 15 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 62 16 _build/oil/bytecode-opy/osh/cmd_exec.pyc _MakeProcess str 59 17 _build/oil/bytecode-opy/osh/cmd_parse.pyc _AppendMoreEnv str 59 18 _build/oil/bytecode-opy/osh/word_parse.pyc _ReadLikeDQ str 59 19 _build/oil/bytecode-opy/osh/builtin_comp.pyc str 58 20 _build/oil/bytecode-opy/osh/builtin.pyc Umask str 56 -- total string bytes: 41682 ===== 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 Id 614 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 554 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 451 4 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 362 5 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 270 6 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 240 7 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 165 8 _build/oil/bytecode-opy/frontend/lex.pyc 161 9 _build/oil/bytecode-opy/osh/builtin.pyc 153 10 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 116 11 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 116 12 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 107 13 _build/oil/bytecode-opy/bin/oil.pyc 87 14 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc builtin_e 84 15 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc PrettyTree 74 16 _build/oil/bytecode-opy/osh/state.pyc 69 17 _build/oil/bytecode-opy/core/completion.pyc Matches 64 18 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Kind 64 19 _build/oil/bytecode-opy/core/completion.pyc 62 20 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 61 Frames with many ops # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc PrettyTree 9151 2 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 5752 3 _build/oil/bytecode-opy/osh/builtin.pyc __call__ 2663 4 _build/oil/bytecode-opy/core/completion.pyc Matches 1736 5 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc Id 1539 6 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 1527 7 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 1496 8 _build/oil/bytecode-opy/frontend/lex.pyc 1494 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 1389 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 922 15 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 828 16 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 760 17 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 732 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 584 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 2182 2 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 280 109 3781 3 _build/oil/bytecode-opy/core/completion.pyc Matches 2 114 62 2772 4 _build/oil/bytecode-opy/frontend/lex.pyc 0 0 62 4336 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/core/id_kind.pyc AddKinds 1 3 47 1690 9 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 100 43 1793 10 _build/oil/bytecode-opy/core/ui.pyc _PrintWithSpanId 5 43 42 609 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 280 109 3781 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/word_eval.pyc _EvalWordPart 4 75 32 1242 9 _build/oil/bytecode-opy/osh/history.pyc Eval 2 72 33 1218 10 _build/oil/bytecode-opy/osh/arith_parse.pyc MakeShellSpec 0 68 15 841 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 23153 2 var 20035 3 cell 4 4 free 4 Common names # A tibble: 20 x 2 name n 1 self 2376 2 append 768 3 None 754 4 spids 602 5 AssertionError 586 6 PrettyNode 552 7 fields 532 8 L 524 9 out_node 524 10 x0 484 11 __name__ 453 12 __module__ 401 13 _AbbreviatedTree 394 14 x1 390 15 children 376 16 PrettyLeaf 372 17 str 342 18 name 338 19 Id 330 20 PrettyArray 330 -- Total length of all 43196 names: 327749 -- Total length of 3073 unique names: 30616 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 4423 2 code 1897 3 NoneType 1524 4 int 1325 5 tuple 388 6 float 3 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 1897 2 CO_OPTIMIZED 1496 3 CO_FUTURE_PRINT_FUNCTION 753 4 CO_GENERATOR 32 5 CO_VARARGS 19 6 CO_VARKEYWORDS 5 ===== OPS Ops Used by Frequency # A tibble: 76 x 2 op_name n 1 LOAD_FAST 15196 2 LOAD_ATTR 12201 3 LOAD_CONST 11286 4 CALL_FUNCTION 7934 5 LOAD_GLOBAL 7026 6 STORE_FAST 4462 7 STORE_NAME 4262 8 POP_TOP 3575 9 RETURN_VALUE 3361 10 LOAD_NAME 2862 11 JUMP_FORWARD 2442 12 POP_JUMP_IF_FALSE 2360 13 MAKE_FUNCTION 1893 14 COMPARE_OP 1803 15 BUILD_TUPLE 1662 16 STORE_ATTR 1061 17 POP_BLOCK 763 18 IMPORT_FROM 701 19 JUMP_ABSOLUTE 613 20 RAISE_VARARGS 583 21 SETUP_LOOP 571 22 FOR_ITER 519 23 GET_ITER 519 24 BUILD_LIST 497 25 DUP_TOP 486 26 IMPORT_NAME 470 27 STORE_SUBSCR 406 28 BUILD_CLASS 401 29 LOAD_LOCALS 401 30 BINARY_SUBSCR 370 31 POP_JUMP_IF_TRUE 336 32 ROT_THREE 296 33 BINARY_ADD 273 34 JUMP_IF_TRUE_OR_POP 241 35 UNPACK_SEQUENCE 222 36 BINARY_MODULO 202 37 END_FINALLY 192 38 UNARY_NOT 162 39 SETUP_EXCEPT 155 40 UNARY_NEGATIVE 110 41 JUMP_IF_FALSE_OR_POP 101 42 INPLACE_ADD 94 43 SLICE+1 93 44 BREAK_LOOP 92 45 BUILD_MAP 70 46 BINARY_SUBTRACT 63 47 YIELD_VALUE 44 48 SETUP_FINALLY 37 49 ROT_TWO 26 50 SLICE+2 23 51 SLICE+3 23 52 BINARY_MULTIPLY 19 53 LIST_APPEND 15 54 BINARY_OR 11 55 DELETE_SLICE+0 11 56 LOAD_DEREF 11 57 DELETE_SUBSCR 9 58 BINARY_AND 8 59 BINARY_RSHIFT 8 60 INPLACE_SUBTRACT 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 STORE_DEREF 4 69 CALL_FUNCTION_VAR_KW 3 70 STORE_GLOBAL 3 71 BINARY_DIVIDE 2 72 BINARY_XOR 2 73 INPLACE_MULTIPLY 2 74 BINARY_FLOOR_DIVIDE 1 75 INPLACE_RSHIFT 1 76 UNARY_INVERT 1 -- Total unique opcodes: 76 Unused opcodes: op_name 1 BINARY_POWER 2 BINARY_TRUE_DIVIDE 3 BUILD_SET 4 BUILD_SLICE 5 CALL_FUNCTION_KW 6 CONTINUE_LOOP 7 DELETE_ATTR 8 DELETE_GLOBAL 9 DELETE_NAME 10 DELETE_SLICE+1 11 DELETE_SLICE+2 12 DELETE_SLICE+3 13 EXEC_STMT 14 EXTENDED_ARG 15 IMPORT_STAR 16 INPLACE_AND 17 INPLACE_DIVIDE 18 INPLACE_FLOOR_DIVIDE 19 INPLACE_LSHIFT 20 INPLACE_MODULO 21 INPLACE_OR 22 INPLACE_POWER 23 INPLACE_TRUE_DIVIDE 24 INPLACE_XOR 25 MAP_ADD 26 NOP 27 PRINT_EXPR 28 PRINT_ITEM 29 PRINT_ITEM_TO 30 PRINT_NEWLINE 31 PRINT_NEWLINE_TO 32 ROT_FOUR 33 SETUP_WITH 34 SET_ADD 35 SLICE+0 36 STOP_CODE 37 STORE_MAP 38 STORE_SLICE+0 39 STORE_SLICE+1 40 STORE_SLICE+2 41 STORE_SLICE+3 42 UNARY_CONVERT 43 UNARY_POSITIVE Memory Operations: # A tibble: 15 x 3 kind op_name n 1 ATTR LOAD_ATTR 12201 2 ATTR STORE_ATTR 1061 3 CLOSURE LOAD_CLOSURE 4 4 CONST LOAD_CONST 11286 5 DEREF LOAD_DEREF 11 6 DEREF STORE_DEREF 4 7 FAST LOAD_FAST 15196 8 FAST STORE_FAST 4462 9 FAST DELETE_FAST 6 10 GLOBAL LOAD_GLOBAL 7026 11 GLOBAL STORE_GLOBAL 3 12 LOCALS LOAD_LOCALS 401 13 NAME STORE_NAME 4262 14 NAME LOAD_NAME 2862 15 SUBSCR STORE_SUBSCR 406 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 701 2 IMPORT_NAME 470 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 3773 ===== 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/pylib/__init__.pyc 2 10 _build/oil/bytecode-opy/tools/__init__.pyc 2 11 _build/oil/bytecode-opy/typing.pyc 6 12 _build/oil/bytecode-opy/asdl/const.pyc 7 13 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 7 14 _build/oil/bytecode-opy/stat.pyc 10 15 _build/oil/bytecode-opy/pylib/cgi.pyc 11 16 _build/oil/bytecode-opy/oil_lang/cmd_exec.pyc 12 17 _build/oil/bytecode-opy/_devbuild/gen/types_asdl.pyc 14 18 _build/oil/bytecode-opy/_devbuild/gen/id_kind_asdl.pyc 15 19 _build/oil/bytecode-opy/__future__.pyc 15 20 _build/oil/bytecode-opy/core/meta.pyc 17 Files with many ops: # A tibble: 10 x 2 # Groups: path [10] path n 1 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 2 _build/oil/bytecode-opy/osh/word_eval.pyc 47 3 _build/oil/bytecode-opy/osh/expr_eval.pyc 48 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc 49 5 _build/oil/bytecode-opy/osh/string_ops.pyc 49 6 _build/oil/bytecode-opy/bin/oil.pyc 51 7 _build/oil/bytecode-opy/osh/state.pyc 51 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: 8 x 2 # Groups: path [8] path n 1 _build/oil/bytecode-opy/frontend/lex.pyc 22 2 _build/oil/bytecode-opy/osh/arith_parse.pyc 23 3 _build/oil/bytecode-opy/frontend/parse_lib.pyc 29 4 _build/oil/bytecode-opy/osh/bool_parse.pyc 31 5 _build/oil/bytecode-opy/frontend/reader.pyc 34 6 _build/oil/bytecode-opy/frontend/lexer.pyc 35 7 _build/oil/bytecode-opy/osh/word_parse.pyc 37 8 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 -- Unique opcodes for parsing: 52