在简单的脚本中出现大量延迟?

问题描述 投票:0回答:2

这个脚本循环打开temp.rtf文件。脚本自动暂停,直到当前文件实例被关闭。我得到的结果是 在打开新窗口之前,延迟0到30秒。. 我也注意到了,当在python中使用cmd和subprocess.run时,也出现了这种情况。谁能解释一下这是怎么回事?这完全破坏了python。

import sys, subprocess

def redir(tag):
    if str(tag)=='journal':
        subprocess.run("temp.rtf", shell=True)

while __name__=="__main__":
    redir('journal')

redir的参数(最后一行)实际上是argv,但这应该是一样的。

if __name__=="__main__":
    while True:
        redir('journal')

^给出同样的延迟

*使用windows 10,任务管理器显示最大CPU使用率为7%,没有其他信息。

在cmd中输入代码,打开文件时没有延迟,但同样的重大延迟在cmd窗口没有随机关闭的时间内是明显的。

python python-3.x performance delay
2个回答
0
投票

从你的shell,键入命令打开相同的文件.运行这个简单的测试6次:哪些是每次运行的启动延迟?

你不指定也不是操作系统既不是应用程序和系统负载(其他runnimg进程,cpu负载,内存负载)。


作者最后的评论很重要。

Cmd. exe C命令行。

每次启动一个新的命令处理器时,它都会在命令行之前执行其他程序(自动启动项)。

你可以在C之前使用开关D

D 忽略注册表中的自动运行命令

参考资料https:/ss64.comntcmd.html

要查看自动运行条目,你可以使用sysinternals的Autoruns。https:/docs.microsoft.comen-ussysinternalsdownloadsautoruns。


如果这个开关不起作用,我建议你看看sysinternals的其他免费工具,它们可以帮助你找到疑点和瓶颈。

例如,进程资源管理器。https:/docs.microsoft.comen-ussysinternalsdownloadsprocess-explorer。

© www.soinside.com 2019 - 2024. All rights reserved.