===== CPYTHON vs. OPY Overview # A tibble: 5 x 3 table_name cpython opy 1 frames 2607 2607 2 names 33633 60389 3 consts 14021 12882 4 flags 5620 5578 5 ops 124378 130767 ===== 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 splitter 3 /home/andy/git/oilshell/oil/core/completion.pyc Matches cell arena 4 /home/andy/git/oilshell/oil/core/process.pyc InitInteractiveShell cell display 5 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices cell self 6 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell comp 7 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell it 8 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell iter_name 9 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell node 10 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr cell self 11 /home/andy/git/oilshell/oil/osh/builtin.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/core/completion.pyc Matches cell arena 4 _build/oil/bytecode-opy/core/process.pyc InitInteractiveShell cell display 5 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices cell self 6 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell self 7 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell node 8 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell iter_name 9 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell it 10 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr cell comp 11 _build/oil/bytecode-opy/osh/builtin.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 0 4 /home/andy/git/oilshell/oil/bin/oil.pyc ShellMain MAKE_CLOSURE 0 5 /home/andy/git/oilshell/oil/core/completion.pyc Matches LOAD_CLOSURE 0 6 /home/andy/git/oilshell/oil/core/completion.pyc Matches MAKE_CLOSURE 0 7 /home/andy/git/oilshell/oil/core/process.pyc InitInteractiveShell LOAD_CLOSURE 0 8 /home/andy/git/oilshell/oil/core/process.pyc InitInteractiveShell MAKE_CLOSURE 0 9 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices LOAD_CLOSURE 0 10 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices MAKE_CLOSURE 0 11 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 4 12 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 13 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 0 14 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 1 15 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 2 16 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 3 17 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 4 18 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 19 /home/andy/git/oilshell/oil/osh/builtin.pyc _PrintDirStack LOAD_CLOSURE 0 20 /home/andy/git/oilshell/oil/osh/builtin.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 0 5 _build/oil/bytecode-opy/core/completion.pyc Matches LOAD_CLOSURE 0 6 _build/oil/bytecode-opy/core/completion.pyc Matches MAKE_CLOSURE 0 7 _build/oil/bytecode-opy/core/process.pyc InitInteractiveShell LOAD_CLOSURE 0 8 _build/oil/bytecode-opy/core/process.pyc InitInteractiveShell MAKE_CLOSURE 0 9 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices LOAD_CLOSURE 0 10 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices MAKE_CLOSURE 0 11 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 0 12 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 13 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 1 14 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 2 15 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 0 16 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 3 17 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr LOAD_CLOSURE 4 18 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalExpr MAKE_CLOSURE 0 19 _build/oil/bytecode-opy/osh/builtin.pyc _PrintDirStack LOAD_CLOSURE 0 20 _build/oil/bytecode-opy/osh/builtin.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 309 3 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 310 4 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 309 5 _build/oil/bytecode-opy/bin/oil.pyc ShellMain DELETE_FAST 310 6 _build/oil/bytecode-opy/core/dev.pyc MaybeDump DELETE_FAST 18 7 _build/oil/bytecode-opy/core/ui.pyc _PrintWithSpanId DELETE_FAST 25 8 _build/oil/bytecode-opy/oil_lang/builtin_oil.pyc __call__ DELETE_FAST 30 9 _build/oil/bytecode-opy/osh/braces.pyc _ExpandPart DELETE_FAST 10 10 _build/oil/bytecode-opy/osh/braces.pyc BraceExpandWords DELETE_FAST 7 11 _build/oil/bytecode-opy/osh/tdop.pyc ToLValue DELETE_FAST 5 12 _build/oil/bytecode-opy/osh/word_.pyc _EvalWordPart DELETE_FAST 5 13 _build/oil/bytecode-opy/osh/word_.pyc LeftMostSpanForPart DELETE_FAST 5 14 _build/oil/bytecode-opy/osh/word_.pyc _RightMostSpanForPart DELETE_FAST 5 15 _build/oil/bytecode-opy/osh/word_.pyc LeftMostSpanForWord DELETE_FAST 5 16 _build/oil/bytecode-opy/osh/word_.pyc RightMostSpanForWord DELETE_FAST 5 17 _build/oil/bytecode-opy/osh/word_.pyc BoolId DELETE_FAST 5 18 _build/oil/bytecode-opy/osh/word_.pyc CommandId 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)