This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author giampaolo.rodola
Recipients SilentGhost, StyXman, asvetlov, desbma, facundobatista, giampaolo.rodola, gps, josh.r, martin.panter, ncoghlan, neologix, petr.viktorin, pitrou, python-dev, r.david.murray, scoder, socketpair, tarek, vstinner, yselivanov
Date 2018-06-12.21:48:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1528840086.6.0.947875510639.issue33671@psf.upfronthosting.co.za>
In-reply-to
Content
For future reference, as per https://github.com/python/cpython/pull/7160 discussion, we decided not to use CopyFileEx on Windows and instead increase read() buffer size from 16KB to 1MB (Windows only) resulting in a 40.8% speedup (instead of 48%). Also copyfileobj() has been optimized on all platforms by using readinto()/memoryview()/bytearray().
Updated benchmarks on Windows:

128KB copy (+27%)

    without patch:
        50 loops, best of 5: 7.69 sec per loop
    with patch:
        50 loops, best of 5: 5.61 sec per loop

8MB copy (+45.6%)

    without patch:
        10 loops, best of 5: 20.8 sec per loop
    with patch:
        20 loops, best of 5: 11.3 sec per loop

512MB copy (+40.8%)

    without patch:
        1 loop, best of 5: 1.26 sec per loop
    with patch:
        1 loop, best of 5: 646 msec per loop
History
Date User Action Args
2018-06-12 21:48:06giampaolo.rodolasetrecipients: + giampaolo.rodola, facundobatista, ncoghlan, pitrou, scoder, vstinner, gps, StyXman, tarek, r.david.murray, petr.viktorin, asvetlov, SilentGhost, neologix, socketpair, python-dev, martin.panter, desbma, yselivanov, josh.r
2018-06-12 21:48:06giampaolo.rodolasetmessageid: <1528840086.6.0.947875510639.issue33671@psf.upfronthosting.co.za>
2018-06-12 21:48:06giampaolo.rodolalinkissue33671 messages
2018-06-12 21:48:06giampaolo.rodolacreate