===== BASIC METRICS -- Number of files: 80 -- Total bytecode bytes: 228967 -- Total instructions: 84937 Duplicate path/name # A tibble: 6 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/osh_asdl.pyc __init__ 74 2 _build/oil/bytecode-opy/core/completion.pyc __init__ 13 3 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc __init__ 13 4 _build/oil/bytecode-opy/asdl/asdl_.pyc __init__ 12 5 _build/oil/bytecode-opy/core/args.pyc __init__ 12 6 _build/oil/bytecode-opy/core/process.pyc __init__ 12 ===== BIG STRINGS path code_name type len_or_val 1 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineFlags str 324 2 _build/oil/bytecode-opy/encodings/__init__.pyc str 256 3 _build/oil/bytecode-opy/asdl/format.pyc FileHeader str 188 4 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineFlags str 103 5 _build/oil/bytecode-opy/core/state.pyc Set str 91 6 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineFlags str 89 7 _build/oil/bytecode-opy/copy_reg.pyc _reduce_ex str 78 8 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineOptions str 72 9 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineOptions str 70 10 _build/oil/bytecode-opy/tools/readlink.pyc str 69 11 _build/oil/bytecode-opy/warnings.pyc __str__ str 68 12 _build/oil/bytecode-opy/core/word_eval.pyc EvalWordToString str 66 13 _build/oil/bytecode-opy/core/state.pyc SetCurrentSpanId str 64 14 _build/oil/bytecode-opy/_abcoll.pyc update str 64 15 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineOptions str 62 16 _build/oil/bytecode-opy/core/comp_builtins.pyc _DefineOptions str 62 17 _build/oil/bytecode-opy/UserDict.pyc __init__ str 60 18 _build/oil/bytecode-opy/core/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: 36137 ===== FRAMES Frames with many consts # A tibble: 1,506 x 3 path code_name n 1 _build/oil/bytecode-opy/encodings/aliases.pyc 404 2 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 246 3 _build/oil/bytecode-opy/_devbuild/gen/osh_asdl.pyc 216 4 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 189 5 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 180 6 _build/oil/bytecode-opy/osh/lex.pyc 134 7 _build/oil/bytecode-opy/core/builtin.pyc 119 8 _build/oil/bytecode-opy/os.pyc 94 9 _build/oil/bytecode-opy/codecs.pyc 88 10 _build/oil/bytecode-opy/_devbuild/gen/osh_asdl.pyc __init__ 74 # ... with 1,496 more rows Frames with many ops # A tibble: 1,547 x 3 path code_name n 1 _build/oil/bytecode-opy/encodings/aliases.pyc 1539 2 _build/oil/bytecode-opy/core/expr_eval.pyc Eval 1427 3 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch 1357 4 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1244 5 _build/oil/bytecode-opy/osh/lex.pyc 1108 6 _build/oil/bytecode-opy/_devbuild/gen/osh_asdl.pyc __init__ 1094 7 _build/oil/bytecode-opy/_devbuild/gen/osh_asdl.pyc 896 8 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 831 9 _build/oil/bytecode-opy/core/word_eval.pyc _EvalBracedVarSub 790 10 _build/oil/bytecode-opy/core/builtin.pyc 749 # ... with 1,537 more rows Frames with large stacksize path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/core/cmd_exec.pyc _RunBuiltin 4 100 80 1514 2 _build/oil/bytecode-opy/bin/oil.pyc OshMain 3 152 75 1954 3 _build/oil/bytecode-opy/os.pyc 0 0 72 1799 4 _build/oil/bytecode-opy/codecs.pyc 0 0 64 874 5 _build/oil/bytecode-opy/core/expr_eval.pyc Eval 3 98 56 2208 6 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch 3 209 52 3823 7 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 99 52 3362 8 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 1 3 47 1518 9 _build/oil/bytecode-opy/core/expr_eval.pyc Eval 2 96 43 1741 10 _build/oil/bytecode-opy/core/word_eval.pyc _EvalBracedVarSub 4 114 41 2290 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch 3 209 52 3823 2 _build/oil/bytecode-opy/bin/oil.pyc OshMain 3 152 75 1954 3 _build/oil/bytecode-opy/core/word_eval.pyc _EvalBracedVarSub 4 114 41 2290 4 _build/oil/bytecode-opy/core/cmd_exec.pyc _RunBuiltin 4 100 80 1514 5 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 99 52 3362 6 _build/oil/bytecode-opy/core/expr_eval.pyc Eval 3 98 56 2208 7 _build/oil/bytecode-opy/core/expr_eval.pyc Eval 2 96 43 1741 8 _build/oil/bytecode-opy/core/word_eval.pyc _EvalWordPart 4 75 32 1254 9 _build/oil/bytecode-opy/osh/arith_parse.pyc MakeShellSpec 0 68 15 841 10 _build/oil/bytecode-opy/tools/osh2oil.pyc DoWordPart 4 68 37 1560 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 19925 2 var 17622 3 free 52 4 cell 49 Common names # A tibble: 3,419 x 2 name n 1 self 2001 2 None 673 3 __name__ 433 4 append 363 5 __module__ 353 6 True 341 7 AssertionError 338 8 Id 306 9 name 298 10 False 297 # ... with 3,409 more rows -- Total length of all 37648 names: 265480 -- Total length of 3419 unique names: 31938 ===== CONSTS Types of constants # A tibble: 7 x 2 type n 1 str 3954 2 code 1855 3 NoneType 1524 4 int 1064 5 tuple 259 6 unicode 7 7 float 2 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 1855 2 CO_OPTIMIZED 1506 3 CO_FUTURE_PRINT_FUNCTION 618 4 CO_GENERATOR 72 5 CO_VARARGS 41 6 CO_VARKEYWORDS 17 ===== OPS Common: # A tibble: 20 x 2 op_name n 1 LOAD_FAST 13518 2 LOAD_CONST 10652 3 LOAD_ATTR 9495 4 LOAD_GLOBAL 6289 5 CALL_FUNCTION 6094 6 STORE_FAST 3744 7 STORE_NAME 3561 8 RETURN_VALUE 3300 9 POP_TOP 3091 10 JUMP_FORWARD 2715 11 LOAD_NAME 2624 12 POP_JUMP_IF_FALSE 2559 13 COMPARE_OP 2027 14 MAKE_FUNCTION 1817 15 BUILD_TUPLE 1117 16 STORE_ATTR 1047 17 DUP_TOP 855 18 STORE_SUBSCR 769 19 POP_BLOCK 760 20 BINARY_SUBSCR 561 Rare: # A tibble: 20 x 2 op_name n 1 INPLACE_SUBTRACT 8 2 STORE_GLOBAL 8 3 CALL_FUNCTION_VAR_KW 7 4 DELETE_SLICE+0 5 5 DUP_TOPX 5 6 STORE_SLICE+1 5 7 BINARY_XOR 4 8 DELETE_SLICE+1 4 9 INPLACE_AND 3 10 INPLACE_MULTIPLY 3 11 INPLACE_RSHIFT 3 12 BINARY_DIVIDE 2 13 BINARY_FLOOR_DIVIDE 2 14 CALL_FUNCTION_KW 2 15 SLICE+0 2 16 STORE_SLICE+0 2 17 EXEC_STMT 1 18 INPLACE_XOR 1 19 MAP_ADD 1 20 UNARY_INVERT 1 Imports: # A tibble: 3 x 2 op_name n 1 IMPORT_FROM 316 2 IMPORT_NAME 417 3 IMPORT_STAR 8 Large op_arg (jump targets): path code_name op_name op_arg 1 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3791 2 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3735 3 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3695 4 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3691 5 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch JUMP_IF_FALSE_OR_POP 3672 6 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 3606 7 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 3606 8 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 3606 9 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch JUMP_FORWARD 3513 10 _build/oil/bytecode-opy/core/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3508 ===== 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/osh/__init__.pyc 2 7 _build/oil/bytecode-opy/tools/__init__.pyc 2 8 _build/oil/bytecode-opy/asdl/const.pyc 7 9 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 7 10 _build/oil/bytecode-opy/encodings/aliases.pyc 7 11 _build/oil/bytecode-opy/stat.pyc 10 12 _build/oil/bytecode-opy/asdl/cgi.pyc 11 13 _build/oil/bytecode-opy/encodings/utf_8.pyc 14 14 _build/oil/bytecode-opy/__future__.pyc 15 15 _build/oil/bytecode-opy/_devbuild/gen/types_asdl.pyc 16 16 _build/oil/bytecode-opy/osh/parse_lib.pyc 17 17 _build/oil/bytecode-opy/asdl/pretty.pyc 19 18 _build/oil/bytecode-opy/_devbuild/gen/osh_asdl.pyc 19 19 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 19 20 _build/oil/bytecode-opy/osh/arith_parse.pyc 23 Files with many ops: # A tibble: 10 x 2 # Groups: path [10] path n 1 _build/oil/bytecode-opy/core/process.pyc 49 2 _build/oil/bytecode-opy/asdl/unpickle.pyc 50 3 _build/oil/bytecode-opy/codecs.pyc 51 4 _build/oil/bytecode-opy/core/state.pyc 51 5 _build/oil/bytecode-opy/core/libstr.pyc 52 6 _build/oil/bytecode-opy/pkgutil.pyc 53 7 _build/oil/bytecode-opy/core/builtin.pyc 55 8 _build/oil/bytecode-opy/core/cmd_exec.pyc 55 9 _build/oil/bytecode-opy/warnings.pyc 55 10 _build/oil/bytecode-opy/_abcoll.pyc 58 Unique ops for files that just parse: # A tibble: 8 x 2 # Groups: path [8] path n 1 _build/oil/bytecode-opy/osh/parse_lib.pyc 17 2 _build/oil/bytecode-opy/osh/arith_parse.pyc 23 3 _build/oil/bytecode-opy/osh/lex.pyc 25 4 _build/oil/bytecode-opy/osh/bool_parse.pyc 30 5 _build/oil/bytecode-opy/core/reader.pyc 31 6 _build/oil/bytecode-opy/osh/word_parse.pyc 34 7 _build/oil/bytecode-opy/core/lexer.pyc 35 8 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 -- Unique opcodes for parsing: 53 -- Total unique opcodes: 87 Unused opcodes: op_name 1 BINARY_POWER 2 BINARY_TRUE_DIVIDE 3 BUILD_SET 4 BUILD_SLICE 5 CONTINUE_LOOP 6 DELETE_ATTR 7 DELETE_GLOBAL 8 DELETE_SLICE+2 9 DELETE_SLICE+3 10 EXTENDED_ARG 11 INPLACE_DIVIDE 12 INPLACE_FLOOR_DIVIDE 13 INPLACE_LSHIFT 14 INPLACE_MODULO 15 INPLACE_OR 16 INPLACE_POWER 17 INPLACE_TRUE_DIVIDE 18 NOP 19 PRINT_EXPR 20 PRINT_ITEM 21 PRINT_ITEM_TO 22 PRINT_NEWLINE 23 PRINT_NEWLINE_TO 24 ROT_FOUR 25 SETUP_WITH 26 SET_ADD 27 STOP_CODE 28 STORE_MAP 29 STORE_SLICE+2 30 STORE_SLICE+3 31 UNARY_CONVERT 32 UNARY_POSITIVE