STINNER Victor <vstin...@python.org> added the comment:
> the entire eval function is now too big for PGO on MSVC I don't think that the issue is specific to MSVC. If a function becomes too big, it becomes less efficient for CPU caches. One idea would be to move the least common opcodes into a slow-path, in a separated function, and make sure that this function is *not* inlined (use Py_NO_INLINE macro). @Mark: What do you think? Maybe we can keep current targets in the big switch, and call the function there. Something like: TARGET(DUP_TOP): TARGET(DUP_TOP_TWO): (...) ceval_slow_path(); break; _PyEval_EvalFrameDefault() takes around 3500 lines of C code. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue45116> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com