Skip to content

C implementation of functools.lru_cache #58581

@anacrolix

Description

@anacrolix
mannequin
BPO 14373
Nosy @rhettinger, @jcea, @amauryfa, @jaraco, @pitrou, @scoder, @giampaolo, @ned-deily, @ezio-melotti, @asvetlov, @meadori, @asmeurer, @ericsnowcurrently, @serhiy-storchaka, @MojoVampire
Dependencies
  • bpo-24276: Correct reuse argument tuple in property descriptor
  • Files
  • lru_cache_class.py: Updated pure python roadmap for the C implementation. Adds handling for kwd_mark and try/except
  • functools.lru_cache-in-c.patch
  • 14373.fixed.diff: Python version works without C acceleration, test cases for both implementations
  • 14373.v3.diff
  • 14373.v4.diff
  • lru_cache_bench.py: Benchmark script
  • 14373.v7.diff
  • 14373.v9.diff
  • clru_cache.patch
  • clru_cache2.patch
  • clru_cache_3.patch
  • clru_cache_crasher.py
  • clru_cache_4.patch: Removed fast path in make_key
  • clru_cache_descr_get.patch
  • test_lru_cache_threaded.patch
  • clru_cache_new.patch
  • 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 = 'https://github.com/serhiy-storchaka'
    closed_at = <Date 2015-11-01.08:32:11.814>
    created_at = <Date 2012-03-20.13:40:44.952>
    labels = ['extension-modules', 'library', 'performance']
    title = 'C implementation of functools.lru_cache'
    updated_at = <Date 2015-11-01.08:32:11.813>
    user = 'https://github.com/anacrolix'

    bugs.python.org fields:

    activity = <Date 2015-11-01.08:32:11.813>
    actor = 'serhiy.storchaka'
    assignee = 'serhiy.storchaka'
    closed = True
    closed_date = <Date 2015-11-01.08:32:11.814>
    closer = 'serhiy.storchaka'
    components = ['Extension Modules', 'Library (Lib)']
    creation = <Date 2012-03-20.13:40:44.952>
    creator = 'anacrolix'
    dependencies = ['24276']
    files = ['25085', '25094', '28369', '28386', '28390', '28400', '28490', '28498', '32779', '32784', '39478', '39479', '39483', '39646', '39652', '39923']
    hgrepos = []
    issue_num = 14373
    keywords = ['patch']
    message_count = 66.0
    messages = ['156405', '156449', '156492', '156803', '156808', '157224', '157226', '157343', '175533', '175540', '175545', '176287', '177784', '177808', '177867', '177889', '177903', '177953', '177955', '177967', '177976', '177980', '177993', '178573', '178589', '178611', '203597', '203599', '203654', '203821', '203846', '203894', '214208', '214209', '223439', '224938', '224941', '224980', '224981', '243932', '243939', '243940', '243962', '243967', '243970', '243982', '244002', '244928', '244944', '244950', '244966', '244992', '244994', '245606', '245618', '246573', '246576', '246580', '246582', '246592', '246718', '246720', '247309', '247320', '247321', '253235']
    nosy_count = 21.0
    nosy_names = ['rhettinger', 'jcea', 'amaury.forgeotdarc', 'jaraco', 'pitrou', 'scoder', 'giampaolo.rodola', 'ned.deily', 'ezio.melotti', 'asvetlov', 'poke', 'meador.inge', 'Aaron.Meurer', 'BreamoreBoy', 'python-dev', 'eric.snow', 'serhiy.storchaka', 'brechtm', 'kmike', 'kachayev', 'josh.r']
    pr_nums = []
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'performance'
    url = 'https://bugs.python.org/issue14373'
    versions = ['Python 3.5']

    Metadata

    Metadata

    Labels

    extension-modulesC modules in the Modules dirperformancePerformance or resource usagestdlibStandard Library Python modules in the Lib/ directory

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions