===== BASIC METRICS -- Number of files: 65 -- Total bytecode bytes: 181914 -- Total instructions: 66634 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 _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/core/completion.pyc Matches str 56 19 _build/oil/bytecode-opy/osh/builtin_bracket.pyc _ThreeArgs str 55 20 _build/oil/bytecode-opy/osh/cmd_exec.pyc _EvalRedirect str 55 -- total string bytes: 28962 ===== 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 261 3 _build/oil/bytecode-opy/_devbuild/gen/osh_help.pyc 194 4 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 191 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/pylib/unpickle.pyc Unpickler 54 13 _build/oil/bytecode-opy/core/completion.pyc 48 14 _build/oil/bytecode-opy/osh/cmd_parse.pyc CommandParser 48 15 _build/oil/bytecode-opy/core/completion.pyc Matches 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/tools/osh2oil.pyc DoCommand 1244 7 _build/oil/bytecode-opy/_devbuild/gen/runtime_asdl.pyc 870 8 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 793 9 _build/oil/bytecode-opy/osh/builtin.pyc 774 10 _build/oil/bytecode-opy/core/completion.pyc Matches 711 11 _build/oil/bytecode-opy/bin/oil.pyc ShellMain 662 12 _build/oil/bytecode-opy/tools/osh2oil.pyc DoWordPart 566 13 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 552 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 154 84 1838 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/osh/cmd_exec.pyc _Dispatch 3 209 52 3823 6 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand 4 99 52 3362 7 _build/oil/bytecode-opy/core/id_kind.pyc AddKinds 1 3 47 1600 8 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 96 43 1741 9 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub 4 114 41 2299 10 _build/oil/bytecode-opy/bin/oil.pyc OshCommandMain 1 51 39 580 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 154 84 1838 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/osh/expr_eval.pyc Eval 3 98 56 2208 7 _build/oil/bytecode-opy/osh/expr_eval.pyc Eval 2 96 43 1741 8 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart 4 75 32 1242 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: 2 x 2 kind n 1 name 16025 2 var 13950 Common names # A tibble: 20 x 2 name n 1 self 1480 2 None 494 3 __name__ 370 4 append 328 5 Id 324 6 AssertionError 322 7 __module__ 314 8 tag 292 9 spids 284 10 True 254 11 __init__ 248 12 False 219 13 s 216 14 name 212 15 len 204 16 node 190 17 util 190 18 argv 167 19 val 164 20 word 162 -- Total length of all 29975 names: 218855 -- Total length of 2841 unique names: 27625 ===== CONSTS Types of constants # A tibble: 6 x 2 type n 1 str 3033 2 code 1357 3 NoneType 1070 4 int 898 5 tuple 236 6 float 2 ===== FLAGS Common flags # A tibble: 6 x 2 flag n 1 CO_NEWLOCALS 1357 2 CO_OPTIMIZED 1043 3 CO_FUTURE_PRINT_FUNCTION 628 4 CO_GENERATOR 28 5 CO_VARARGS 16 6 CO_VARKEYWORDS 4 ===== OPS Ops Used by Frequency # A tibble: 73 x 2 op_name n 1 LOAD_FAST 10718 2 LOAD_ATTR 8395 3 LOAD_CONST 8009 4 LOAD_GLOBAL 4955 5 CALL_FUNCTION 4848 6 STORE_NAME 2934 7 STORE_FAST 2857 8 LOAD_NAME 2609 9 RETURN_VALUE 2401 10 POP_TOP 2393 11 JUMP_FORWARD 2008 12 POP_JUMP_IF_FALSE 1951 13 COMPARE_OP 1622 14 MAKE_FUNCTION 1357 15 STORE_ATTR 1084 16 BUILD_TUPLE 936 17 POP_BLOCK 482 18 BUILD_LIST 462 19 BINARY_SUBSCR 453 20 DUP_TOP 408 21 STORE_SUBSCR 402 22 RAISE_VARARGS 378 23 JUMP_ABSOLUTE 369 24 SETUP_LOOP 322 25 BUILD_CLASS 314 26 LOAD_LOCALS 314 27 IMPORT_NAME 307 28 IMPORT_FROM 292 29 FOR_ITER 268 30 GET_ITER 268 31 ROT_THREE 241 32 UNPACK_SEQUENCE 230 33 BINARY_ADD 225 34 JUMP_IF_TRUE_OR_POP 225 35 BINARY_MODULO 161 36 END_FINALLY 160 37 UNARY_NOT 157 38 POP_JUMP_IF_TRUE 156 39 SETUP_EXCEPT 133 40 UNARY_NEGATIVE 117 41 SLICE+1 83 42 BREAK_LOOP 81 43 JUMP_IF_FALSE_OR_POP 81 44 INPLACE_ADD 80 45 BUILD_MAP 68 46 BINARY_SUBTRACT 48 47 YIELD_VALUE 32 48 SLICE+2 31 49 ROT_TWO 29 50 SETUP_FINALLY 27 51 SLICE+3 23 52 LIST_APPEND 16 53 BINARY_MULTIPLY 15 54 BINARY_OR 11 55 DELETE_SUBSCR 9 56 BINARY_AND 8 57 BINARY_RSHIFT 8 58 CALL_FUNCTION_VAR 7 59 INPLACE_SUBTRACT 7 60 DELETE_FAST 6 61 DELETE_SLICE+0 6 62 WITH_CLEANUP 6 63 STORE_SLICE+1 5 64 BINARY_LSHIFT 4 65 DELETE_SLICE+1 4 66 STORE_GLOBAL 4 67 CALL_FUNCTION_VAR_KW 3 68 DUP_TOPX 3 69 BINARY_DIVIDE 2 70 BINARY_XOR 2 71 INPLACE_MULTIPLY 2 72 INPLACE_RSHIFT 1 73 UNARY_INVERT 1 -- Total unique opcodes: 73 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 LOAD_CLOSURE 26 LOAD_DEREF 27 MAKE_CLOSURE 28 MAP_ADD 29 NOP 30 PRINT_EXPR 31 PRINT_ITEM 32 PRINT_ITEM_TO 33 PRINT_NEWLINE 34 PRINT_NEWLINE_TO 35 ROT_FOUR 36 SETUP_WITH 37 SET_ADD 38 SLICE+0 39 STOP_CODE 40 STORE_DEREF 41 STORE_MAP 42 STORE_SLICE+0 43 STORE_SLICE+2 44 STORE_SLICE+3 45 UNARY_CONVERT 46 UNARY_POSITIVE Memory Operations: # A tibble: 13 x 3 kind op_name n 1 ATTR LOAD_ATTR 8395 2 ATTR STORE_ATTR 1084 3 CONST LOAD_CONST 8009 4 FAST LOAD_FAST 10718 5 FAST STORE_FAST 2857 6 FAST DELETE_FAST 6 7 GLOBAL LOAD_GLOBAL 4955 8 GLOBAL STORE_GLOBAL 4 9 LOCALS LOAD_LOCALS 314 10 NAME STORE_NAME 2934 11 NAME LOAD_NAME 2609 12 SLICE STORE_SLICE+1 5 13 SUBSCR STORE_SUBSCR 402 Imports: # A tibble: 2 x 2 op_name n 1 IMPORT_FROM 292 2 IMPORT_NAME 307 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/frontend/parse_lib.pyc 17 19 _build/oil/bytecode-opy/asdl/pretty.pyc 19 20 _build/oil/bytecode-opy/_devbuild/gen/runtime_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/core/completion.pyc 49 7 _build/oil/bytecode-opy/pylib/unpickle.pyc 50 8 _build/oil/bytecode-opy/osh/builtin.pyc 51 9 _build/oil/bytecode-opy/osh/state.pyc 51 10 _build/oil/bytecode-opy/osh/cmd_exec.pyc 52 Unique ops for files that just parse: # A tibble: 9 x 2 # Groups: path [9] path n 1 _build/oil/bytecode-opy/frontend/parse_lib.pyc 17 2 _build/oil/bytecode-opy/frontend/lex.pyc 22 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