Content-Length: 293683 | pFad | https://github.com/python/cpython/issues/117648

ad Improve performance of os.join by replacing map with a direct method call · Issue #117648 · python/cpython · GitHub
Skip to content

Improve performance of os.join by replacing map with a direct method call #117648

Description

@eendebakpt

Feature or enhancement

Proposal:

We can improve performance of os.join by changing

        for b in map(os.fspath, p):

into

        for w in p:
            b=os.fspath(w)

The map generator takes time to create and the application of the method to each element also takes some time. A quick benchmark

main: 385 ns ± 11.5 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
map replaced: 328 ns ± 9.8 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

The idea still needs to be tested on other platforms and with longer sequences.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    performancePerformance or resource usagestdlibStandard Library Python modules in the Lib/ directorytype-featureA feature request or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions









    ApplySandwichStrip

    pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


    --- a PPN by Garber Painting Akron. With Image Size Reduction included!

    Fetched URL: https://github.com/python/cpython/issues/117648

    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy