← 返回首页
[subinterpreters] Make free lists and unicode caches per-interpreter · Issue #84701 · python/cpython · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

[subinterpreters] Make free lists and unicode caches per-interpreter #84701

New issue
New issue

Description

BPO 40521
Nosy @rhettinger, @mdickinson, @vstinner, @markshannon, @corona10, @shihai1991, @JunyiXie
PRs
  • bpo-40521: Disable Unicode caches in isolated subinterpreters #19933
  • bpo-40521: Disable free lists in subinterpreters #19937
  • bpo-40521: Disable list free list in subinterpreters #19959
  • bpo-40521: Disable method cache in subinterpreters #19960
  • bpo-40521: Add PyInterpreterState.unicode #20081
  • bpo-40521: Add PyInterpreterState.unicode #20082
  • bpo-40521: Per-interpreter interned strings #20085
  • bpo-40521: Fix update_slot() whne INTERN_NAME_STRINGS is not defined #20246
  • bpo-40521: Make tuple free list per-interpreter #20247
  • bpo-40521: Make float free list per-interpreter #20636
  • bpo-40521: Make slice cache per-interpreter #20637
  • bpo-40521: Make frame free list per-interpreter #20638
  • bpo-40521: Make list free list per-interpreter #20642
  • bpo-40521: Make async gen free lists per-interpreter #20643
  • bpo-40521: Make context free list per-interpreter #20644
  • bpo-40521: Make dict free lists per-interpreter #20645
  • bpo-40521: Make the empty frozenset per interpreter #21068
  • bpo-40521: Remove freelist from collections.deque() #21073
  • bpo-40521: Make bytes singletons per interpreter #21074
  • bpo-40521: Cleanup code of free lists #21082
  • bpo-40521: Empty frozenset is no longer a singleton #21085
  • bpo-40521: Make MemoryError free list per interpreter #21086
  • bpo-40521: Make empty Unicode string per interpreter #21096
  • bpo-40521: Optimize PyUnicode_New(0, maxchar) #21099
  • bpo-40521: Make Unicode latin1 singletons per interpreter #21101
  • bpo-40521: Fix _PyContext_Fini() #21103
  • bpo-40521: Always create the empty tuple singleton #21116
  • bpo-40521: Optimize PyBytes_FromStringAndSize(str, 0) #21142
  • bpo-40521: Cleanup finalize_interp_types() #21265
  • bpo-40521: Fix PyUnicode_InternInPlace() #22376
  • bpo-40521: [subinterpreters] Make dtoa bigint free list per-interpreter #24821
  • Revert "bpo-40521: Remove freelist from collections.deque() (GH-21073)" #24944
  • Revert "bpo-40521: [subinterpreters] Make dtoa bigint free list per-interpreter" #24964
  • bpo-40521: Convert deque freelist from global vars to instance vars #25906
  • bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (GH-20085)" #30422
  • [3.10] bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (GH-20085)" (GH-30422) #30425
  • [3.10] bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (GH-20085)" (GH-30422) #30433
  • Files
  • bench_tuple.patch
  • microbench_tuple.py
  • bench_dict.patch
  • interned_bug.py
  • bench_dtoa.py
  • 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 = None closed_at = None created_at = <Date 2020-05-05.15:48:02.489> labels = ['expert-subinterpreters', '3.10'] title = '[subinterpreters] Make free lists and unicode caches per-interpreter' updated_at = <Date 2022-01-06.15:24:07.868> user = 'https://github.com/vstinner'

    bugs.python.org fields:

    activity = <Date 2022-01-06.15:24:07.868> actor = 'vstinner' assignee = 'none' closed = False closed_date = None closer = None components = ['Subinterpreters'] creation = <Date 2020-05-05.15:48:02.489> creator = 'vstinner' dependencies = [] files = ['49212', '49213', '49216', '49699', '49899'] hgrepos = [] issue_num = 40521 keywords = ['patch'] message_count = 56.0 messages = ['368175', '368177', '368187', '368278', '368283', '368807', '368808', '369407', '370636', '370733', '370734', '370735', '370737', '370740', '370741', '370742', '370754', '370755', '370756', '370757', '370771', '370928', '370969', '372146', '372148', '372161', '372168', '372169', '372176', '372181', '372207', '372209', '372216', '372220', '372223', '372250', '372357', '372795', '377368', '383789', '383790', '383829', '385950', '388492', '388493', '388617', '389226', '389294', '389305', '389525', '389527', '393787', '395860', '409819', '409856', '409862'] nosy_count = 7.0 nosy_names = ['rhettinger', 'mark.dickinson', 'vstinner', 'Mark.Shannon', 'corona10', 'shihai1991', 'JunyiXie'] pr_nums = ['19933', '19937', '19959', '19960', '20081', '20082', '20085', '20246', '20247', '20636', '20637', '20638', '20642', '20643', '20644', '20645', '21068', '21073', '21074', '21082', '21085', '21086', '21096', '21099', '21101', '21103', '21116', '21142', '21265', '22376', '24821', '24944', '24964', '25906', '30422', '30425', '30433'] priority = 'normal' resolution = None stage = 'patch review' status = 'open' superseder = None type = None url = 'https://bugs.python.org/issue40521' versions = ['Python 3.10']

    Metadata

    Metadata

    Assignees

    No one assigned

      Fields

      No fields configured for issues without a type.

      Projects

      Status
      Done

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      • Open in GitHub Copilot app

      Footer

      © 2026 GitHub, Inc.