Skip to content

Speedup empty dict creation and reduce its memory usage #74226

@methane

Description

@methane
BPO 30040
Nosy @tim-one, @rhettinger, @terryjreedy, @vstinner, @bitdancer, @methane, @markshannon, @serhiy-storchaka, @MojoVampire, @zhangyangyu, @mlouielu
PRs
  • bpo-30040: New empty dict uses key-sharing dict. #1080
  • bpo-30040: optimize inserting into empty dict #12307
  • bpo-30040: remove shared empty key #12308
  • bpo-30040: update news entry #12324
  • bpo-38525: Fix segfault when using reverse iterators of empty dict literals #16847
  • 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 = <Date 2019-03-18.11:46:24.978>
    created_at = <Date 2017-04-11.09:39:20.110>
    labels = ['interpreter-core', '3.8', 'performance']
    title = 'Speedup empty dict creation and reduce its memory usage'
    updated_at = <Date 2019-10-19.15:00:56.151>
    user = 'https://github.com/methane'

    bugs.python.org fields:

    activity = <Date 2019-10-19.15:00:56.151>
    actor = 'pablogsal'
    assignee = 'none'
    closed = True
    closed_date = <Date 2019-03-18.11:46:24.978>
    closer = 'methane'
    components = ['Interpreter Core']
    creation = <Date 2017-04-11.09:39:20.110>
    creator = 'methane'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 30040
    keywords = ['patch']
    message_count = 34.0
    messages = ['291470', '291471', '291477', '291481', '291482', '291483', '291485', '291489', '291494', '291506', '291507', '291521', '291683', '291776', '291777', '291791', '291817', '337726', '337751', '337766', '337778', '337791', '337794', '337797', '337800', '337812', '337816', '337849', '337900', '337902', '337908', '337969', '338196', '338202']
    nosy_count = 11.0
    nosy_names = ['tim.peters', 'rhettinger', 'terry.reedy', 'vstinner', 'r.david.murray', 'methane', 'Mark.Shannon', 'serhiy.storchaka', 'josh.r', 'xiang.zhang', 'louielu']
    pr_nums = ['1080', '12307', '12308', '12324', '16847']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'resource usage'
    url = 'https://bugs.python.org/issue30040'
    versions = ['Python 3.8']

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.8 (EOL)end of lifeinterpreter-core(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usage

      Projects

      No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions