===== BASIC METRICS -- Number of files: 140 -- Total bytecode bytes: 631517 -- Total instructions: 226893 Duplicate path/name path code_name n 1 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 179 2 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc PrettyTree 179 3 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 179 4 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc __init__ 179 5 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc CreateNull 165 6 /home/andy/git/oilshell/oil/_devbuild/gen/value_asdl.pyc AbbreviatedTree 36 ===== BIG STRINGS path code_name type len_or_val 1 /home/andy/git/oilshell/oil/osh/word_parse.pyc _ReadBracedVarSub str 2832 2 /home/andy/git/oilshell/oil/pgen2/grammar.pyc Grammar str 2607 3 /home/andy/git/oilshell/oil/osh/cmd_parse.pyc ParseSimpleCommand str 2439 4 /home/andy/git/oilshell/oil/Python-2.7.13/Lib/__future__.pyc str 1638 5 /home/andy/git/oilshell/oil/osh/cmd_parse.pyc _ScanSimpleCommand str 1539 6 /home/andy/git/oilshell/oil/core/executor.pyc RunProcessSub str 1531 7 /home/andy/git/oilshell/oil/frontend/args.pyc str 1527 8 /home/andy/git/oilshell/oil/core/process.pyc WaitForOne str 1386 9 /home/andy/git/oilshell/oil/osh/word_parse.pyc str 1326 10 /home/andy/git/oilshell/oil/osh/cmd_parse.pyc _MaybeExpandAliases str 1280 11 /home/andy/git/oilshell/oil/tools/ysh_ify.pyc _GetRhsStyle str 1254 12 /home/andy/git/oilshell/oil/pgen2/parse.pyc Parser str 1076 13 /home/andy/git/oilshell/oil/data_lang/j8.pyc J8LinesParser str 1050 14 /home/andy/git/oilshell/oil/osh/cmd_parse.pyc CommandParser str 994 15 /home/andy/git/oilshell/oil/osh/word_eval.pyc _MakeWordFrames str 968 16 /home/andy/git/oilshell/oil/osh/cmd_parse.pyc ParseCommand str 935 17 /home/andy/git/oilshell/oil/mycpp/mylib.pyc UniqueObjects str 912 18 /home/andy/git/oilshell/oil/core/completion.pyc str 886 19 /home/andy/git/oilshell/oil/data_lang/j8.pyc str 883 20 /home/andy/git/oilshell/oil/core/dev.pyc MultiTracer str 867 -- total string bytes: 265483 ===== FRAMES Frames with many consts path code_name n 1 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc PrettyTree 991 2 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 991 3 /home/andy/git/oilshell/oil/_devbuild/gen/id_kind_asdl.pyc 853 4 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc 522 5 /home/andy/git/oilshell/oil/_devbuild/gen/help_meta.pyc 449 6 /home/andy/git/oilshell/oil/frontend/id_kind_def.pyc AddKinds 405 7 /home/andy/git/oilshell/oil/_devbuild/gen/id_kind_asdl.pyc Id 403 8 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 358 9 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc CreateNull 327 10 /home/andy/git/oilshell/oil/_devbuild/gen/option_asdl.pyc 307 11 /home/andy/git/oilshell/oil/frontend/lexer_def.pyc 262 12 /home/andy/git/oilshell/oil/_devbuild/gen/runtime_asdl.pyc 213 13 /home/andy/git/oilshell/oil/frontend/flag_def.pyc 180 14 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc __init__ 179 15 /home/andy/git/oilshell/oil/_devbuild/gen/value_asdl.pyc PrettyTree 172 16 /home/andy/git/oilshell/oil/_devbuild/gen/value_asdl.pyc _AbbreviatedTree 172 17 /home/andy/git/oilshell/oil/_devbuild/gen/arg_types.pyc __init__ 170 18 /home/andy/git/oilshell/oil/_devbuild/gen/runtime_asdl.pyc PrettyTree 145 19 /home/andy/git/oilshell/oil/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 145 20 /home/andy/git/oilshell/oil/_devbuild/gen/value_asdl.pyc 128 Frames with many ops path code_name n 1 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc PrettyTree 16109 2 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc _AbbreviatedTree 16109 3 /home/andy/git/oilshell/oil/_devbuild/gen/value_asdl.pyc PrettyTree 3091 4 /home/andy/git/oilshell/oil/_devbuild/gen/value_asdl.pyc _AbbreviatedTree 3091 5 /home/andy/git/oilshell/oil/core/shell.pyc Main 3047 6 /home/andy/git/oilshell/oil/frontend/lexer_def.pyc 2539 7 /home/andy/git/oilshell/oil/_devbuild/gen/runtime_asdl.pyc PrettyTree 2457 8 /home/andy/git/oilshell/oil/_devbuild/gen/runtime_asdl.pyc _AbbreviatedTree 2457 9 /home/andy/git/oilshell/oil/_devbuild/gen/id_kind.pyc 2449 10 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc CreateNull 2277 11 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc 2123 12 /home/andy/git/oilshell/oil/_devbuild/gen/arg_types.pyc __init__ 1892 13 /home/andy/git/oilshell/oil/core/completion.pyc Matches 1734 14 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc __init__ 1606 15 /home/andy/git/oilshell/oil/builtin/func_misc.pyc Call 1578 16 /home/andy/git/oilshell/oil/_devbuild/gen/id_kind_asdl.pyc 1365 17 /home/andy/git/oilshell/oil/_devbuild/gen/help_meta.pyc 1297 18 /home/andy/git/oilshell/oil/tools/ysh_ify.pyc DoCommand 1180 19 /home/andy/git/oilshell/oil/osh/sh_expr_eval.pyc Eval 1158 20 /home/andy/git/oilshell/oil/_devbuild/gen/syntax_asdl.pyc AbbreviatedTree 1122 Frames with large stacksize path code_name argcount nlocals stacksize bytecode_bytes 1 /home/andy/git/oilshell/oil/frontend/lexer_def.pyc 0 0 62 7341 2 /home/andy/git/oilshell/oil/frontend/builtin_def.pyc 0 0 50 337 3 /home/andy/git/oilshell/oil/frontend/id_kind_def.pyc AddKinds 1 1 46 1660 4 /home/andy/git/oilshell/oil/frontend/option_def.pyc 0 0 40 922 5 /home/andy/git/oilshell/oil/frontend/signal_def.pyc 0 0 26 220 6 /home/andy/git/oilshell/oil/builtin/meta_osh.pyc _Exec 5 10 22 263 7 /home/andy/git/oilshell/oil/tools/ysh_ify.pyc DoCommand 4 30 20 3268 8 /home/andy/git/oilshell/oil/osh/cmd_eval.pyc RunPendingTrapsAndCatch 1 3 18 188 9 /home/andy/git/oilshell/oil/core/shell.pyc Main 6 121 16 8453 10 /home/andy/git/oilshell/oil/osh/word_.pyc _EvalWordPart 1 10 16 515 Frames with many locals path code_name argcount nlocals stacksize bytecode_bytes 1 /home/andy/git/oilshell/oil/core/shell.pyc Main 6 121 16 8453 2 /home/andy/git/oilshell/oil/builtin/assign_osh.pyc _PrintVariables 5 42 10 2081 3 /home/andy/git/oilshell/oil/core/completion.pyc Matches 2 40 9 2977 4 /home/andy/git/oilshell/oil/builtin/method_str.pyc Call 2 36 10 1250 5 /home/andy/git/oilshell/oil/builtin/printf_osh.pyc _Percent 5 36 5 2169 6 /home/andy/git/oilshell/oil/ysh/expr_parse.pyc _PushYshTokens 4 34 10 1932 7 /home/andy/git/oilshell/oil/osh/history.pyc Eval 2 30 6 1211 8 /home/andy/git/oilshell/oil/tools/ysh_ify.pyc DoCommand 4 30 20 3268 9 /home/andy/git/oilshell/oil/builtin/io_ysh.pyc Run 2 28 6 1183 10 /home/andy/git/oilshell/oil/builtin/process_osh.pyc Run 2 28 8 1369 ===== NAMES Common types kind n 1 name 47012 2 var 15922 3 cell 2 4 free 1 Common names name n 1 self 2897 2 None 1353 3 __name__ 875 4 __module__ 864 5 True 819 6 trav 795 7 __init__ 736 8 append 736 9 id 675 10 AssertionError 647 11 cast 554 12 NewRecord 544 13 hnode 542 14 fields 539 15 TraversalState 536 16 heap_id 535 17 AlreadySeen 532 18 L 530 19 _AbbreviatedTree 529 20 seen 529 -- Total length of all 62937 names: 451019 -- Total length of 5810 unique names: 56724 ===== CONSTS Types of constants type n 1 str 10821 2 code 4620 3 NoneType 3848 4 int 3573 5 tuple 1914 6 float 15 ===== FLAGS Common flags flag n 1 CO_NEWLOCALS 4620 2 CO_OPTIMIZED 3757 3 CO_FUTURE_PRINT_FUNCTION 2173 4 CO_GENERATOR 24 5 CO_VARARGS 14 6 CO_NESTED 8 7 CO_VARKEYWORDS 3 ===== OPS Ops Used by Frequency op_name n 1 LOAD_FAST 38828 2 LOAD_ATTR 29882 3 LOAD_CONST 29382 4 CALL_FUNCTION 22141 5 LOAD_GLOBAL 19592 6 STORE_FAST 11255 7 STORE_NAME 10881 8 POP_TOP 7309 9 RETURN_VALUE 6863 10 POP_JUMP_IF_FALSE 6033 11 LOAD_NAME 5204 12 COMPARE_OP 4808 13 MAKE_FUNCTION 4619 14 JUMP_FORWARD 3427 15 IMPORT_FROM 2760 16 STORE_ATTR 2165 17 STORE_MAP 2066 18 IMPORT_NAME 1603 19 JUMP_ABSOLUTE 1555 20 BUILD_TUPLE 1538 21 RAISE_VARARGS 1377 22 POP_BLOCK 1250 23 POP_JUMP_IF_TRUE 1049 24 BUILD_LIST 957 25 BUILD_CLASS 863 26 LOAD_LOCALS 863 27 STORE_SUBSCR 819 28 BINARY_SUBSCR 804 29 SETUP_LOOP 764 30 FOR_ITER 718 31 GET_ITER 718 32 BINARY_MODULO 657 33 JUMP_IF_TRUE_OR_POP 548 34 END_FINALLY 486 35 UNPACK_SEQUENCE 441 36 BINARY_ADD 359 37 SETUP_WITH 288 38 WITH_CLEANUP 288 39 DUP_TOP 270 40 BUILD_MAP 196 41 SETUP_EXCEPT 196 42 BREAK_LOOP 138 43 INPLACE_ADD 134 44 UNARY_NOT 112 45 BINARY_SUBTRACT 85 46 SLICE+1 85 47 LIST_APPEND 67 48 BINARY_AND 62 49 SLICE+3 59 50 ROT_TWO 41 51 BINARY_MULTIPLY 39 52 YIELD_VALUE 37 53 SLICE+2 28 54 INPLACE_OR 22 55 BINARY_OR 21 56 BINARY_LSHIFT 20 57 INPLACE_SUBTRACT 18 58 JUMP_IF_FALSE_OR_POP 17 59 DELETE_SLICE+0 13 60 UNARY_NEGATIVE 10 61 BINARY_DIVIDE 9 62 STORE_GLOBAL 8 63 BINARY_RSHIFT 7 64 DELETE_SUBSCR 5 65 PRINT_ITEM 5 66 PRINT_NEWLINE 5 67 CONTINUE_LOOP 3 68 ROT_THREE 3 69 BINARY_FLOOR_DIVIDE 2 70 CALL_FUNCTION_VAR 2 71 CALL_FUNCTION_VAR_KW 2 72 LOAD_DEREF 2 73 SETUP_FINALLY 2 74 STORE_SLICE+0 2 75 UNARY_INVERT 2 76 BINARY_XOR 1 77 INPLACE_RSHIFT 1 78 LOAD_CLOSURE 1 79 MAKE_CLOSURE 1 -- Total unique opcodes: 79 Unused opcodes: op_name 1 BINARY_POWER 2 BINARY_TRUE_DIVIDE 3 BUILD_SET 4 BUILD_SLICE 5 CALL_FUNCTION_KW 6 DELETE_ATTR 7 DELETE_FAST 8 DELETE_GLOBAL 9 DELETE_NAME 10 DELETE_SLICE+1 11 DELETE_SLICE+2 12 DELETE_SLICE+3 13 DUP_TOPX 14 EXEC_STMT 15 EXTENDED_ARG 16 IMPORT_STAR 17 INPLACE_AND 18 INPLACE_DIVIDE 19 INPLACE_FLOOR_DIVIDE 20 INPLACE_LSHIFT 21 INPLACE_MODULO 22 INPLACE_MULTIPLY 23 INPLACE_POWER 24 INPLACE_TRUE_DIVIDE 25 INPLACE_XOR 26 MAP_ADD 27 NOP 28 PRINT_EXPR 29 PRINT_ITEM_TO 30 PRINT_NEWLINE_TO 31 ROT_FOUR 32 SET_ADD 33 SLICE+0 34 STOP_CODE 35 STORE_DEREF 36 STORE_SLICE+1 37 STORE_SLICE+2 38 STORE_SLICE+3 39 UNARY_CONVERT 40 UNARY_POSITIVE Memory Operations: kind op_name n 1 ATTR LOAD_ATTR 29882 2 ATTR STORE_ATTR 2165 3 CLOSURE LOAD_CLOSURE 1 4 CONST LOAD_CONST 29382 5 DEREF LOAD_DEREF 2 6 FAST LOAD_FAST 38828 7 FAST STORE_FAST 11255 8 GLOBAL LOAD_GLOBAL 19592 9 GLOBAL STORE_GLOBAL 8 10 LOCALS LOAD_LOCALS 863 11 MAP STORE_MAP 2066 12 NAME STORE_NAME 10881 13 NAME LOAD_NAME 5204 14 SLICE STORE_SLICE+0 2 15 SUBSCR STORE_SUBSCR 819 Imports: op_name n 1 IMPORT_FROM 2760 2 IMPORT_NAME 1603 Large op_arg (jump targets): path code_name op_name op_arg 1 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_JUMP_IF_FALSE 8404 2 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_TOP 8404 3 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_TOP 8404 4 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_TOP 8404 5 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_JUMP_IF_FALSE 8382 6 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_TOP 8382 7 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_JUMP_IF_FALSE 8296 8 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_JUMP_IF_FALSE 8292 9 /home/andy/git/oilshell/oil/core/shell.pyc Main JUMP_ABSOLUTE 8292 10 /home/andy/git/oilshell/oil/core/shell.pyc Main POP_JUMP_IF_FALSE 8280 ===== UNIQUE OPS Files with few ops: # A tibble: 20 × 2 # Groups: path [20] path n 1 /home/andy/git/oilshell/oil/_devbuild/__init__.pyc 2 2 /home/andy/git/oilshell/oil/_devbuild/gen/__init__.pyc 2 3 /home/andy/git/oilshell/oil/asdl/__init__.pyc 2 4 /home/andy/git/oilshell/oil/bin/__init__.pyc 2 5 /home/andy/git/oilshell/oil/builtin/__init__.pyc 2 6 /home/andy/git/oilshell/oil/core/__init__.pyc 2 7 /home/andy/git/oilshell/oil/data_lang/__init__.pyc 2 8 /home/andy/git/oilshell/oil/display/__init__.pyc 2 9 /home/andy/git/oilshell/oil/frontend/__init__.pyc 2 10 /home/andy/git/oilshell/oil/mycpp/__init__.pyc 2 11 /home/andy/git/oilshell/oil/osh/__init__.pyc 2 12 /home/andy/git/oilshell/oil/pylib/__init__.pyc 2 13 /home/andy/git/oilshell/oil/tools/__init__.pyc 2 14 /home/andy/git/oilshell/oil/ysh/__init__.pyc 2 15 /home/andy/git/oilshell/oil/_devbuild/gen/grammar_nt.pyc 3 16 /home/andy/git/oilshell/oil/pgen2/__init__.pyc 3 17 /home/andy/git/oilshell/oil/display/ansi.pyc 6 18 /home/andy/git/oilshell/oil/vendor/typing.pyc 6 19 /home/andy/git/oilshell/oil/pylib/cgi.pyc 8 20 /home/andy/git/oilshell/oil/Python-2.7.13/Lib/stat.pyc 10 Files with many ops: # A tibble: 10 × 2 # Groups: path [10] path n 1 /home/andy/git/oilshell/oil/core/comp_ui.pyc 47 2 /home/andy/git/oilshell/oil/core/dev.pyc 47 3 /home/andy/git/oilshell/oil/ysh/expr_eval.pyc 47 4 /home/andy/git/oilshell/oil/builtin/method_str.pyc 49 5 /home/andy/git/oilshell/oil/core/process.pyc 49 6 /home/andy/git/oilshell/oil/osh/cmd_eval.pyc 51 7 /home/andy/git/oilshell/oil/osh/word_eval.pyc 51 8 /home/andy/git/oilshell/oil/data_lang/j8.pyc 52 9 /home/andy/git/oilshell/oil/core/completion.pyc 53 10 /home/andy/git/oilshell/oil/core/state.pyc 53 Unique ops for files that just parse: # A tibble: 10 × 2 # Groups: path [10] path n 1 /home/andy/git/oilshell/oil/frontend/lexer_def.pyc 17 2 /home/andy/git/oilshell/oil/osh/arith_parse.pyc 19 3 /home/andy/git/oilshell/oil/osh/bool_parse.pyc 30 4 /home/andy/git/oilshell/oil/frontend/parse_lib.pyc 32 5 /home/andy/git/oilshell/oil/pgen2/parse.pyc 32 6 /home/andy/git/oilshell/oil/frontend/reader.pyc 33 7 /home/andy/git/oilshell/oil/frontend/lexer.pyc 36 8 /home/andy/git/oilshell/oil/osh/word_parse.pyc 43 9 /home/andy/git/oilshell/oil/ysh/expr_parse.pyc 43 10 /home/andy/git/oilshell/oil/osh/cmd_parse.pyc 46 -- Unique opcodes for parsing: 55