===== BASIC METRICS -- Number of files: 65 -- Total bytecode bytes: 188568 -- Total instructions: 69154 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/core/completion.pyc __init__ 13 3 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc __init__ 13 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 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: 30219 ===== 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 266 3 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 226 4 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 188 5 _build/oil/bytecode-opy/frontend/lex.pyc 153 6 _build/oil/bytecode-opy/osh/builtin.pyc 127 7 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 92 8 _build/oil/bytecode-opy/bin/oil.pyc 77 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 62 12 _build/oil/bytecode-opy/core/completion.pyc Matches 60 13 _build/oil/bytecode-opy/pylib/unpickle.pyc Unpickler 54 14 _build/oil/bytecode-opy/core/completion.pyc 49 15 _build/oil/bytecode-opy/osh/cmd_parse.pyc CommandParser 47 16 _build/oil/bytecode-opy/stat.pyc 42 17 _build/oil/bytecode-opy/asdl/format.pyc 40 18 _build/oil/bytecode-opy/core/util.pyc 38 19 _build/oil/bytecode-opy/frontend/args.pyc 37 20 _build/oil/bytecode-opy/osh/builtin_comp.pyc 37 Frames with many ops # A tibble: 20 x 3 path code_name n 1 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 1440 2 _build/oil/bytecode-opy/frontend/lex.pyc 1427 3 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc 1388 4 _build/oil/bytecode-opy/core/completion.pyc Matches 1363 5 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch 1357 6 _build/oil/bytecode-opy/_devbuild/gen/syntax_asdl.pyc __init__ 1349 7 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 1244 8 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 837 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 809 10 _build/oil/bytecode-opy/osh/builtin.pyc 801 11 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 768 12 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 604 13 _build/oil/bytecode-opy/tools/osh2oil.pyc DoWordPart 566 14 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 564 15 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunBuiltin 499 16 _build/oil/bytecode-opy/osh/builtin_comp.pyc __call__ 449 17 _build/oil/bytecode-opy/frontend/reader.pyc Eval 433 18 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 430 19 _build/oil/bytecode-opy/bin/oil.pyc 423 20 _build/oil/bytecode-opy/osh/split.pyc 420 Frames with large stacksize path code_name argcount nlocals stacksize bytecode_bytes 1 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 4 174 87 2128 2 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunBuiltin 4 98 78 1487 3 _build/oil/bytecode-opy/frontend/lex.pyc 0 0 62 4141 4 _build/oil/bytecode-opy/core/completion.pyc Matches 2 100 58 2044 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 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 1634 9 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 99 43 1778 10 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 116 41 2347 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 174 87 2128 3 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 116 41 2347 4 _build/oil/bytecode-opy/core/completion.pyc Matches 2 100 58 2044 5 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 99 43 1778 6 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 99 52 3362 7 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunBuiltin 4 98 78 1487 8 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 3 98 56 2208 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 4 75 32 1242 10 _build/oil/bytecode-opy/frontend/reader.pyc Eval 2 70 34 1183 ===== NAMES Common types # A tibble: 4 x 2 kind n 1 name 16464 2 var 14355 3 free 4 4 cell 3 Common names # A tibble: 20 x 2 name n 1 self 1535 2 None 496 3 __name__ 380 4 Id 338 5 append 332 6 AssertionError 326 7 __module__ 322 8 tag 292 9 spids 284 10 True 261 11 __init__ 259 12 False 236 13 s 223 14 name 220 15 len 208 16 util 200 17 node 186 18 word 171 19 argv 169 20 val 168 -- Total length of all 30826 names: 224758 -- Total length of 2928 unique names: 28410 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 3157 2 code 1398 3 NoneType 1102 4 int 915 5 tuple 243 6 float 3 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 1398 2 CO_OPTIMIZED 1076 3 CO_FUTURE_PRINT_FUNCTION 642 4 CO_GENERATOR 30 5 CO_VARARGS 17 6 CO_VARKEYWORDS 4 ===== OPS Ops Used by Frequency # A tibble: 77 x 2 op_name n 1 LOAD_FAST 11121 2 LOAD_ATTR 8693 3 LOAD_CONST 8322 4 LOAD_GLOBAL 5075 5 CALL_FUNCTION 5032 6 STORE_NAME 3007 7 STORE_FAST 2983 8 LOAD_NAME 2673 9 POP_TOP 2509 10 RETURN_VALUE 2459 11 JUMP_FORWARD 2086 12 POP_JUMP_IF_FALSE 2018 13 COMPARE_OP 1668 14 MAKE_FUNCTION 1396 15 STORE_ATTR 1110 16 BUILD_TUPLE 965 17 POP_BLOCK 520 18 BUILD_LIST 477 19 BINARY_SUBSCR 470 20 DUP_TOP 448 21 STORE_SUBSCR 433 22 JUMP_ABSOLUTE 398 23 RAISE_VARARGS 389 24 SETUP_LOOP 348 25 BUILD_CLASS 322 26 LOAD_LOCALS 322 27 IMPORT_NAME 316 28 IMPORT_FROM 302 29 FOR_ITER 294 30 GET_ITER 294 31 ROT_THREE 269 32 BINARY_ADD 240 33 UNPACK_SEQUENCE 235 34 JUMP_IF_TRUE_OR_POP 227 35 END_FINALLY 172 36 BINARY_MODULO 171 37 UNARY_NOT 162 38 POP_JUMP_IF_TRUE 154 39 SETUP_EXCEPT 144 40 UNARY_NEGATIVE 123 41 JUMP_IF_FALSE_OR_POP 97 42 SLICE+1 89 43 INPLACE_ADD 83 44 BREAK_LOOP 82 45 BUILD_MAP 71 46 BINARY_SUBTRACT 52 47 YIELD_VALUE 44 48 LOAD_DEREF 31 49 SLICE+2 31 50 ROT_TWO 29 51 SETUP_FINALLY 28 52 SLICE+3 26 53 BINARY_MULTIPLY 17 54 LIST_APPEND 16 55 BINARY_OR 11 56 DELETE_SLICE+0 9 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 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 8693 2 ATTR STORE_ATTR 1110 3 CLOSURE LOAD_CLOSURE 4 4 CONST LOAD_CONST 8322 5 DEREF LOAD_DEREF 31 6 DEREF STORE_DEREF 2 7 FAST LOAD_FAST 11121 8 FAST STORE_FAST 2983 9 FAST DELETE_FAST 6 10 GLOBAL LOAD_GLOBAL 5075 11 GLOBAL STORE_GLOBAL 4 12 LOCALS LOAD_LOCALS 322 13 NAME STORE_NAME 3007 14 NAME LOAD_NAME 2673 15 SLICE STORE_SLICE+1 5 16 SUBSCR STORE_SUBSCR 433 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 302 2 IMPORT_NAME 316 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 3787 3 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_TOP 3787 4 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3781 5 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3719 6 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch BREAK_LOOP 3719 7 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3695 8 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 3615 9 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch JUMP_ABSOLUTE 3615 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch POP_JUMP_IF_FALSE 3579 ===== 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/bin/oil.pyc 46 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 56 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/osh/arith_parse.pyc 23 3 _build/oil/bytecode-opy/frontend/parse_lib.pyc 28 4 _build/oil/bytecode-opy/osh/bool_parse.pyc 30 5 _build/oil/bytecode-opy/oil_lang/cmd_parse.pyc 34 6 _build/oil/bytecode-opy/osh/word_parse.pyc 34 7 _build/oil/bytecode-opy/frontend/lexer.pyc 35 8 _build/oil/bytecode-opy/frontend/reader.pyc 44 9 _build/oil/bytecode-opy/osh/cmd_parse.pyc 47 -- Unique opcodes for parsing: 54