summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew/3.8.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/whatsnew/3.8.rst')
-rw-r--r--Doc/whatsnew/3.8.rst8
1 files changed, 8 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index 91e0d5b..e5e6d4a5 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -277,6 +277,14 @@ Optimizations
See :ref:`shutil-platform-dependent-efficient-copy-operations` section.
(Contributed by Giampaolo Rodola' in :issue:`25427`.)
+* :func:`shutil.copytree` uses :func:`os.scandir` function and all copy
+ functions depending from it use cached :func:`os.stat` values. The speedup
+ for copying a directory with 8000 files is around +9% on Linux, +20% on
+ Windows and +30% on a Windows SMB share. Also the number of :func:`os.stat`
+ syscalls is reduced by 38% making :func:`shutil.copytree` especially faster
+ on network filesystems. (Contributed by Giampaolo Rodola' in :issue:`33695`.)
+
+
* The default protocol in the :mod:`pickle` module is now Protocol 4,
first introduced in Python 3.4. It offers better performance and smaller
size compared to Protocol 3 available since Python 3.0.