===== CPYTHON vs. OPY Overview # A tibble: 5 x 3 table_name cpython opy 1 frames 2741 2741 2 names 35853 64636 3 consts 14936 13758 4 flags 5928 5900 5 ops 132374 139283 ===== Cell Variables CPython path code_name kind name 1 /home/andy/git/oilshell/oil/bin/oil.pyc _InitReadline cell display 2 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain cell globber 3 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain cell splitter 4 /home/andy/git/oilshell/oil/core/completion.pyc Matches cell arena 5 /home/andy/git/oilshell/oil/core/process.pyc InitInteractiveShell cell display 6 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices cell self 7 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell comp 8 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell it 9 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell iter_name 10 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell node 11 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell self 12 /home/andy/git/oilshell/oil/osh/builtin_misc.pyc _PrintDirStack cell home_dir OPy path code_name kind name 1 _build/oil/bytecode-opy/bin/oil.pyc _InitReadline cell display 2 _build/oil/bytecode-opy/bin/oil.pyc ShellMain cell splitter 3 _build/oil/bytecode-opy/bin/oil.pyc ShellMain cell globber 4 _build/oil/bytecode-opy/core/completion.pyc Matches cell arena 5 _build/oil/bytecode-opy/core/process.pyc InitInteractiveShell cell display 6 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices cell self 7 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell self 8 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell node 9 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell iter_name 10 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell it 11 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell comp 12 _build/oil/bytecode-opy/osh/builtin_misc.pyc _PrintDirStack cell home_dir ===== CLOSURE bytecodes CPython path code_name op_name op_arg 1 /home/andy/git/oilshell/oil/bin/oil.pyc _InitReadline LOAD_CLOSURE 0 2 /home/andy/git/oilshell/oil/bin/oil.pyc _InitReadline MAKE_CLOSURE 0 3 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain LOAD_CLOSURE 1 4 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain MAKE_CLOSURE 1 5 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain LOAD_CLOSURE 0 6 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain MAKE_CLOSURE 0 7 /home/andy/git/oilshell/oil/core/completion.pyc Matches LOAD_CLOSURE 0 8 /home/andy/git/oilshell/oil/core/completion.pyc Matches MAKE_CLOSURE 0 9 /home/andy/git/oilshell/oil/core/process.pyc InitInteractiveShell LOAD_CLOSURE 0 10 /home/andy/git/oilshell/oil/core/process.pyc InitInteractiveShell MAKE_CLOSURE 0 11 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices LOAD_CLOSURE 0 12 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices MAKE_CLOSURE 0 13 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 4 14 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 15 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 0 16 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 1 17 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 2 18 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 3 19 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 4 20 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 21 /home/andy/git/oilshell/oil/osh/builtin_misc.pyc _PrintDirStack LOAD_CLOSURE 0 22 /home/andy/git/oilshell/oil/osh/builtin_misc.pyc _PrintDirStack MAKE_CLOSURE 0 OPy path code_name op_name op_arg 1 _build/oil/bytecode-opy/bin/oil.pyc _InitReadline LOAD_CLOSURE 0 2 _build/oil/bytecode-opy/bin/oil.pyc _InitReadline MAKE_CLOSURE 0 3 _build/oil/bytecode-opy/bin/oil.pyc ShellMain LOAD_CLOSURE 0 4 _build/oil/bytecode-opy/bin/oil.pyc ShellMain MAKE_CLOSURE 1 5 _build/oil/bytecode-opy/bin/oil.pyc ShellMain LOAD_CLOSURE 1 6 _build/oil/bytecode-opy/bin/oil.pyc ShellMain MAKE_CLOSURE 0 7 _build/oil/bytecode-opy/core/completion.pyc Matches LOAD_CLOSURE 0 8 _build/oil/bytecode-opy/core/completion.pyc Matches MAKE_CLOSURE 0 9 _build/oil/bytecode-opy/core/process.pyc InitInteractiveShell LOAD_CLOSURE 0 10 _build/oil/bytecode-opy/core/process.pyc InitInteractiveShell MAKE_CLOSURE 0 11 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices LOAD_CLOSURE 0 12 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices MAKE_CLOSURE 0 13 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 0 14 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 15 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 1 16 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 2 17 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 0 18 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 3 19 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 4 20 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 21 _build/oil/bytecode-opy/osh/builtin_misc.pyc _PrintDirStack LOAD_CLOSURE 0 22 _build/oil/bytecode-opy/osh/builtin_misc.pyc _PrintDirStack MAKE_CLOSURE 0 ===== Rare bytecodes DELETE_FAST in CPython [1] path code_name op_name op_arg <0 rows> (or 0-length row.names) DELETE_FAST in OPy path code_name op_name op_arg 1 _build/oil/bytecode-opy/bin/oil.pyc SourceStartupFile DELETE_FAST 8 2 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 339 3 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 340 4 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 339 5 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 340 6 _build/oil/bytecode-opy/core/dev.pyc MaybeDump DELETE_FAST 18 7 _build/oil/bytecode-opy/core/process.pyc _ApplyRedirect DELETE_FAST 8 8 _build/oil/bytecode-opy/core/state.pyc _DumpVarFrame DELETE_FAST 20 9 _build/oil/bytecode-opy/core/state.pyc _ResolveNameOrRef DELETE_FAST 12 10 _build/oil/bytecode-opy/core/state.pyc SetVar DELETE_FAST 10 11 _build/oil/bytecode-opy/core/state.pyc SetVar DELETE_FAST 62 12 _build/oil/bytecode-opy/core/ui.pyc _PrintWithSpanId DELETE_FAST 25 13 _build/oil/bytecode-opy/frontend/location.pyc SpanForArithExpr DELETE_FAST 5 14 _build/oil/bytecode-opy/oil_lang/builtin_oil.pyc Run DELETE_FAST 30 15 _build/oil/bytecode-opy/osh/braces.pyc _ExpandPart DELETE_FAST 10 16 _build/oil/bytecode-opy/osh/braces.pyc BraceExpandWords DELETE_FAST 7 17 _build/oil/bytecode-opy/osh/builtin_process.pyc Run DELETE_FAST 41 18 _build/oil/bytecode-opy/osh/cmd_exec.pyc _CheckStatus DELETE_FAST 9 19 _build/oil/bytecode-opy/osh/cmd_exec.pyc _EvalRedirect DELETE_FAST 14 20 _build/oil/bytecode-opy/osh/cmd_exec.pyc _EvalRedirects DELETE_FAST 6 21 _build/oil/bytecode-opy/osh/cmd_exec.pyc _RunSimpleCommand DELETE_FAST 7 22 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch DELETE_FAST 10 23 _build/oil/bytecode-opy/osh/cmd_exec.pyc _Dispatch DELETE_FAST 120 24 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalLhs DELETE_FAST 14 25 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc _EvalLhsArith DELETE_FAST 10 26 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalLhsAndLookup DELETE_FAST 12 27 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalLhsAndLookup DELETE_FAST 28 28 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc _ValToIntOrError DELETE_FAST 7 29 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval DELETE_FAST 6 30 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval DELETE_FAST 81 31 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval DELETE_FAST 6 32 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval DELETE_FAST 42 33 _build/oil/bytecode-opy/osh/split.pyc _GetSplitter DELETE_FAST 10 34 _build/oil/bytecode-opy/osh/split.pyc GetJoinChar DELETE_FAST 8 35 _build/oil/bytecode-opy/osh/tdop.pyc ToLValue DELETE_FAST 6 36 _build/oil/bytecode-opy/osh/word_eval.pyc _ValueToPartValue DELETE_FAST 6 37 _build/oil/bytecode-opy/osh/word_eval.pyc _MakeWordFrames DELETE_FAST 8 38 _build/oil/bytecode-opy/osh/word_eval.pyc _DecayPartValuesToString DELETE_FAST 8 39 _build/oil/bytecode-opy/osh/word_eval.pyc _PerformSlice DELETE_FAST 10 40 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyTestOp DELETE_FAST 21 41 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalIndirectArrayExpansion DELETE_FAST 13 42 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyPrefixOp DELETE_FAST 16 43 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyPrefixOp DELETE_FAST 16 44 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyUnarySuffixOp DELETE_FAST 23 45 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 82 46 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 82 47 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 118 48 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 82 49 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 82 50 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 82 51 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 118 52 _build/oil/bytecode-opy/osh/word_eval.pyc _PartValsToString DELETE_FAST 9 53 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart DELETE_FAST 9 54 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart DELETE_FAST 85 55 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordToParts DELETE_FAST 9 56 _build/oil/bytecode-opy/osh/word_eval.pyc EvalWordToString DELETE_FAST 24 57 _build/oil/bytecode-opy/osh/word_.pyc _EvalWordPart DELETE_FAST 5 58 _build/oil/bytecode-opy/osh/word_.pyc LeftMostSpanForPart DELETE_FAST 5 59 _build/oil/bytecode-opy/osh/word_.pyc _RightMostSpanForPart DELETE_FAST 5 60 _build/oil/bytecode-opy/osh/word_.pyc LeftMostSpanForWord DELETE_FAST 5 61 _build/oil/bytecode-opy/osh/word_.pyc RightMostSpanForWord DELETE_FAST 5 62 _build/oil/bytecode-opy/osh/word_.pyc BoolId DELETE_FAST 5 63 _build/oil/bytecode-opy/osh/word_.pyc CommandId DELETE_FAST 5 64 _build/oil/bytecode-opy/osh/word_.pyc SpanForLhsExpr DELETE_FAST 5 STORE_GLOBAL in OPy path code_name op_name op_arg 1 _build/oil/bytecode-opy/core/pyutil.pyc GetResourceLoader STORE_GLOBAL 0 2 _build/oil/bytecode-opy/core/pyutil.pyc GetResourceLoader STORE_GLOBAL 0 3 _build/oil/bytecode-opy/core/pyutil.pyc GetResourceLoader STORE_GLOBAL 0 STORE_SLICE+1 in OPy [1] path code_name op_name op_arg <0 rows> (or 0-length row.names)