Skip to content

Performance regression 3.10b1: inlining issue in the big _PyEval_EvalFrameDefault() function with Visual Studio (MSC)#89279

@neonene

Description

@neonene
mannequin
BPO45116
Nosy@malemburg, @gvanrossum, @rhettinger, @pfmoore, @vstinner, @tjguk, @markshannon, @zware, @zooba, @animalize, @pablogsal, @brandtbucher, @neonene, @erlend-aasland, @Fidget-Spinner
PRs
  • bpo-45116: Add the Py_ALWAYS_INLINE macro #28390
  • bpo-45116: Py_DEBUG ignores Py_ALWAYS_INLINE #28419
  • bpo-45116: Use Py_ALWAYS_INLINE in object.h #28427
  • [3.10] bpo-45116: Shrink interpreter by targetted revert of #25244 #28475
  • bpo-45116 Fix another performance regression on Windows #28630
  • bpo-45116 Add a warm-up for PGO training on Windows #28631
  • bpo-45116: Make --inlinestat option available in build.bat for diagnostic logs #31436
  • [3.10] bpo-45116: Fix inlining regressions on Windows Release build #31459
  • gh-89279: In ceval.c, redefine some macros for speed #32387
  • Files
  • 310rc1_confirm_overhead.patch
  • ceval_310rc1_patched.c
  • b98e-no-inline-in-all.diff
  • b98e-no-inline-in-eval.diff
  • b98e-no-inline-in-the-others.diff
  • pyproject_inlinestat.patch
  • x64_28d2.log
  • x64_b98e.log
  • 310rc2_benchmarks.txt
  • 310a7_vs_310rc2_bench.txt
  • PR28475_inline.log
  • PR28475_vs_310rc2_vs_310a7.txt
  • PR28475_skip1test_bench.txt
  • 310rc2patched_vs_310rc2notrace.txt
  • switch-case_unarranged_bench.txt
  • ceval_PR29565_split_func.c
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee=Noneclosed_at=Nonecreated_at=<Date2021-09-06.15:27:18.216>labels= ['interpreter-core', '3.10', 'performance', 'expert-C-API', '3.11', 'OS-windows'] title='Performance regression 3.10b1: inlining issue in the big _PyEval_EvalFrameDefault() function with Visual Studio (MSC)'updated_at=<Date2022-04-08.11:04:12.476>user='https://github.com/neonene'

    bugs.python.org fields:

    activity=<Date2022-04-08.11:04:12.476>actor='steve.dower'assignee='none'closed=Falseclosed_date=Nonecloser=Nonecomponents= ['Interpreter Core', 'Windows', 'C API'] creation=<Date2021-09-06.15:27:18.216>creator='neonene'dependencies= [] files= ['50263', '50264', '50271', '50272', '50273', '50274', '50275', '50276', '50280', '50286', '50291', '50293', '50296', '50315', '50363', '50452'] hgrepos= [] issue_num=45116keywords= ['patch'] message_count=82.0messages= ['401143', '401152', '401154', '401182', '401183', '401319', '401329', '401346', '401364', '401623', '401624', '401628', '401743', '401964', '401970', '401972', '402025', '402040', '402043', '402044', '402063', '402064', '402065', '402067', '402068', '402071', '402090', '402091', '402092', '402098', '402099', '402117', '402135', '402143', '402189', '402190', '402217', '402229', '402230', '402287', '402289', '402296', '402307', '402308', '402320', '402480', '402856', '402857', '402858', '402864', '402867', '402871', '402878', '402886', '402891', '402893', '402928', '402930', '402954', '403403', '403409', '403430', '403432', '403464', '403559', '403587', '403609', '404089', '406354', '406386', '406407', '406416', '406471', '406474', '406479', '406487', '406613', '407188', '415378', '416911', '416950', '416977'] nosy_count=15.0nosy_names= ['lemburg', 'gvanrossum', 'rhettinger', 'paul.moore', 'vstinner', 'tim.golden', 'Mark.Shannon', 'zach.ware', 'steve.dower', 'malin', 'pablogsal', 'brandtbucher', 'neonene', 'erlendaasland', 'kj'] pr_nums= ['28390', '28419', '28427', '28475', '28630', '28631', '31436', '31459', '32387'] priority=Noneresolution=Nonestage='patch review'status='open'superseder=Nonetype='performance'url='https://bugs.python.org/issue45116'versions= ['Python 3.10', 'Python 3.11']

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      Projects

      No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions