===== BASIC METRICS -- Number of files: 65 -- Total bytecode bytes: 183193 -- Total instructions: 67139 Duplicate path/name # A tibble: 6 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 92 2 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc __init__ 13 3 _build/oil/bytecode-opy/core/completion.pyc __init__ 12 4 _build/oil/bytecode-opy/core/process.pyc __init__ 12 5 _build/oil/bytecode-opy/frontend/args.pyc __init__ 12 6 _build/oil/bytecode-opy/asdl/runtime.pyc __repr__ 11 ===== 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/osh/builtin_comp.pyc _DefineOptions str 70 9 _build/oil/bytecode-opy/tools/readlink.pyc str 69 10 _build/oil/bytecode-opy/osh/word_eval.pyc EvalWordToString str 66 11 _build/oil/bytecode-opy/osh/state.pyc SetCurrentSpanId str 64 12 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 62 13 _build/oil/bytecode-opy/osh/builtin_comp.pyc _DefineOptions str 62 14 _build/oil/bytecode-opy/osh/cmd_exec.pyc _MakeProcess str 59 15 _build/oil/bytecode-opy/osh/cmd_parse.pyc _AppendMoreEnv str 59 16 _build/oil/bytecode-opy/osh/word_parse.pyc _ReadLikeDQ str 59 17 _build/oil/bytecode-opy/osh/builtin_comp.pyc str 58 18 _build/oil/bytecode-opy/osh/builtin_bracket.pyc _ThreeArgs str 55 19 _build/oil/bytecode-opy/osh/cmd_exec.pyc _EvalRedirect str 55 20 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub str 55 -- total string bytes: 29197 ===== FRAMES Frames with many consts # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 271 2 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 263 3 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 194 4 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 184 5 _build/oil/bytecode-opy/frontend/lex.pyc 149 6 _build/oil/bytecode-opy/osh/builtin.pyc 123 7 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 92 8 _build/oil/bytecode-opy/bin/oil.pyc 73 9 _build/oil/bytecode-opy/pylib/unpickle.pyc 66 10 _build/oil/bytecode-opy/_devbuild/gen/types_asdl.pyc 63 11 _build/oil/bytecode-opy/osh/state.pyc 60 12 _build/oil/bytecode-opy/core/completion.pyc Matches 57 13 _build/oil/bytecode-opy/pylib/unpickle.pyc Unpickler 54 14 _build/oil/bytecode-opy/osh/cmd_parse.pyc CommandParser 47 15 _build/oil/bytecode-opy/core/completion.pyc 45 16 _build/oil/bytecode-opy/stat.pyc 42 17 _build/oil/bytecode-opy/asdl/format.pyc 40 18 _build/oil/bytecode-opy/frontend/args.pyc 37 19 _build/oil/bytecode-opy/asdl/runtime.pyc 36 20 _build/oil/bytecode-opy/core/process.pyc 35 Frames with many ops # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 1427 2 _build/oil/bytecode-opy/frontend/lex.pyc 1391 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 1388 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 1357 5 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 1349 6 _build/oil/bytecode-opy/core/completion.pyc Matches 1256 7 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1244 8 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 825 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 793 10 _build/oil/bytecode-opy/osh/builtin.pyc 774 11 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 656 12 _build/oil/bytecode-opy/tools/osh2oil.pyc DoWordPart 566 13 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 554 14 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunBuiltin 521 15 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 519 16 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 430 17 _build/oil/bytecode-opy/osh/split.pyc 420 18 _build/oil/bytecode-opy/frontend/args.pyc Parse 394 19 _build/oil/bytecode-opy/bin/oil.pyc 387 20 _build/oil/bytecode-opy/pylib/unpickle.pyc Unpickler 357 Frames with large stacksize path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 152 84 1820 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunBuiltin 4 102 82 1553 3 _build/oil/bytecode-opy/frontend/lex.pyc 0 0 62 4033 4 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 3 98 56 2208 5 _build/oil/bytecode-opy/core/completion.pyc Matches 2 98 53 2077 6 _build/oil/bytecode-opy/osh/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 1606 9 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 96 43 1741 10 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 114 41 2299 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 3 209 52 3823 2 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 152 84 1820 3 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 114 41 2299 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunBuiltin 4 102 82 1553 5 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 99 52 3362 6 _build/oil/bytecode-opy/core/completion.pyc Matches 2 98 53 2077 7 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 3 98 56 2208 8 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 96 43 1741 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 4 75 32 1242 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 16101 2 var 14025 3 free 4 4 cell 3 Common names # A tibble: 20 x 2 name n 1 self 1494 2 None 492 3 __name__ 368 4 Id 332 5 append 328 6 AssertionError 318 7 __module__ 312 8 tag 290 9 spids 284 10 True 256 11 __init__ 249 12 False 231 13 s 219 14 name 214 15 len 200 16 util 192 17 node 186 18 word 168 19 val 166 20 argv 165 -- Total length of all 30133 names: 219620 -- Total length of 2843 unique names: 27635 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 3039 2 code 1365 3 NoneType 1081 4 int 896 5 tuple 238 6 float 3 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 1365 2 CO_OPTIMIZED 1053 3 CO_FUTURE_PRINT_FUNCTION 630 4 CO_GENERATOR 28 5 CO_VARARGS 16 6 CO_VARKEYWORDS 4 ===== OPS Ops Used by Frequency # A tibble: 77 x 2 op_name n 1 LOAD_FAST 10792 2 LOAD_ATTR 8493 3 LOAD_CONST 8068 4 LOAD_GLOBAL 4958 5 CALL_FUNCTION 4883 6 STORE_NAME 2946 7 STORE_FAST 2868 8 LOAD_NAME 2596 9 POP_TOP 2440 10 RETURN_VALUE 2416 11 JUMP_FORWARD 2019 12 POP_JUMP_IF_FALSE 1959 13 COMPARE_OP 1624 14 MAKE_FUNCTION 1363 15 STORE_ATTR 1084 16 BUILD_TUPLE 934 17 POP_BLOCK 494 18 BUILD_LIST 463 19 BINARY_SUBSCR 459 20 DUP_TOP 411 21 STORE_SUBSCR 402 22 JUMP_ABSOLUTE 378 23 RAISE_VARARGS 373 24 SETUP_LOOP 331 25 BUILD_CLASS 312 26 IMPORT_NAME 312 27 LOAD_LOCALS 312 28 IMPORT_FROM 297 29 FOR_ITER 277 30 GET_ITER 277 31 ROT_THREE 241 32 BINARY_ADD 233 33 UNPACK_SEQUENCE 229 34 JUMP_IF_TRUE_OR_POP 225 35 BINARY_MODULO 163 36 END_FINALLY 163 37 UNARY_NOT 160 38 POP_JUMP_IF_TRUE 152 39 SETUP_EXCEPT 136 40 UNARY_NEGATIVE 118 41 JUMP_IF_FALSE_OR_POP 91 42 SLICE+1 84 43 BREAK_LOOP 81 44 INPLACE_ADD 80 45 BUILD_MAP 68 46 BINARY_SUBTRACT 48 47 YIELD_VALUE 38 48 LOAD_DEREF 34 49 SLICE+2 31 50 ROT_TWO 29 51 SETUP_FINALLY 27 52 SLICE+3 24 53 BINARY_MULTIPLY 17 54 LIST_APPEND 16 55 BINARY_OR 11 56 DELETE_SUBSCR 9 57 BINARY_AND 8 58 BINARY_RSHIFT 8 59 DELETE_SLICE+0 8 60 INPLACE_SUBTRACT 8 61 CALL_FUNCTION_VAR 7 62 DELETE_FAST 6 63 WITH_CLEANUP 6 64 STORE_SLICE+1 5 65 BINARY_LSHIFT 4 66 DELETE_SLICE+1 4 67 LOAD_CLOSURE 4 68 STORE_GLOBAL 4 69 CALL_FUNCTION_VAR_KW 3 70 DUP_TOPX 3 71 BINARY_DIVIDE 2 72 BINARY_XOR 2 73 INPLACE_MULTIPLY 2 74 MAKE_CLOSURE 2 75 STORE_DEREF 2 76 INPLACE_RSHIFT 1 77 UNARY_INVERT 1 -- Total unique opcodes: 77 Unused opcodes: op_name 1 BINARY_FLOOR_DIVIDE 2 BINARY_POWER 3 BINARY_TRUE_DIVIDE 4 BUILD_SET 5 BUILD_SLICE 6 CALL_FUNCTION_KW 7 CONTINUE_LOOP 8 DELETE_ATTR 9 DELETE_GLOBAL 10 DELETE_NAME 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+2 40 STORE_SLICE+3 41 UNARY_CONVERT 42 UNARY_POSITIVE Memory Operations: # A tibble: 16 x 3 kind op_name n 1 ATTR LOAD_ATTR 8493 2 ATTR STORE_ATTR 1084 3 CLOSURE LOAD_CLOSURE 4 4 CONST LOAD_CONST 8068 5 DEREF LOAD_DEREF 34 6 DEREF STORE_DEREF 2 7 FAST LOAD_FAST 10792 8 FAST STORE_FAST 2868 9 FAST DELETE_FAST 6 10 GLOBAL LOAD_GLOBAL 4958 11 GLOBAL STORE_GLOBAL 4 12 LOCALS LOAD_LOCALS 312 13 NAME STORE_NAME 2946 14 NAME LOAD_NAME 2596 15 SLICE STORE_SLICE+1 5 16 SUBSCR STORE_SUBSCR 402 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 297 2 IMPORT_NAME 312 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 3791 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3747 3 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3716 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3692 5 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_IF_FALSE_OR_POP 3674 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3614 7 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3560 8 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3551 9 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3542 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_FORWARD 3483 ===== 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/asdl/const.pyc 7 12 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 7 13 _build/oil/bytecode-opy/stat.pyc 10 14 _build/oil/bytecode-opy/pylib/cgi.pyc 11 15 _build/oil/bytecode-opy/oil_lang/cmd_exec.pyc 12 16 _build/oil/bytecode-opy/__future__.pyc 15 17 _build/oil/bytecode-opy/_devbuild/gen/types_asdl.pyc 16 18 _build/oil/bytecode-opy/asdl/pretty.pyc 19 19 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 19 20 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 19 Files with many ops: # A tibble: 10 x 2 # Groups: path [10] path n 1 _build/oil/bytecode-opy/osh/word_eval.pyc 45 2 _build/oil/bytecode-opy/core/process.pyc 46 3 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 4 _build/oil/bytecode-opy/osh/expr_eval.pyc 48 5 _build/oil/bytecode-opy/osh/string_ops.pyc 48 6 _build/oil/bytecode-opy/pylib/unpickle.pyc 50 7 _build/oil/bytecode-opy/osh/builtin.pyc 51 8 _build/oil/bytecode-opy/osh/state.pyc 51 9 _build/oil/bytecode-opy/osh/cmd_exec.pyc 52 10 _build/oil/bytecode-opy/core/completion.pyc 55 Unique ops for files that just parse: # A tibble: 9 x 2 # Groups: path [9] path n 1 _build/oil/bytecode-opy/frontend/lex.pyc 22 2 _build/oil/bytecode-opy/frontend/parse_lib.pyc 23 3 _build/oil/bytecode-opy/osh/arith_parse.pyc 23 4 _build/oil/bytecode-opy/osh/bool_parse.pyc 30 5 _build/oil/bytecode-opy/frontend/reader.pyc 31 6 _build/oil/bytecode-opy/oil_lang/cmd_parse.pyc 34 7 _build/oil/bytecode-opy/osh/word_parse.pyc 34 8 _build/oil/bytecode-opy/frontend/lexer.pyc 35 9 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 -- Unique opcodes for parsing: 52