-close_fds为false;
未设置preexec_fn,pass_fds,cwd和start_new_session参数;
该可执行文件路径中包含一个目录。
-shutil.copyfile(),shutil.copy(),shutil.copy2(), shutil.copytree()并shutil.move()使用特定于平台的“快速复制”在Linux,MacOS的和Solaris,以更有效地复制文件系统调用。“快速复制”意味着复制操作发生在内核中,避免在Python中使用用户空间缓冲区,如“ outfd.write(infd.read())”。在Windows上shutil.copyfile()使用更大的默认缓冲区大小(1 MiB而不是16 KiB),并使用memoryview()基于a 的变体 - shutil.copyfileobj()。在同一分区中复制512 MiB文件的速度在Linux上约为+ 26%,在macOS上为+ 50%,在Windows上为+ 40%。此外,消耗的CPU周期更少。请参阅与平台相关的高效复制操作部分。
shutil.copytree()使用os.scandir()函数和依赖它的所有复制函数使用缓存os.stat()值。复制具有8000个文件的目录的速度在Linux上约为+ 9%,在Windows上为+ 20%,在Windows SMB共享上为+ 30%。此外,os.stat() 系统调用的数量减少了38%,使shutil.copytree()网络文件系统的速度更快。
-pickle模块中的默认协议现在是协议4,,首先在Python 3.4中引入。与Python 3.0以来提供的Protocol 3相比,它提供了更好的性能和更小的尺寸。
删除了一个Py_ssize_t成员PyGC_Head。所有GC跟踪对象(例如元组,列表,字典)的大小减少了4或8个字节。
(编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|