相关疑难解决方法(0)

为什么Cygwin执行shell命令的速度非常慢?

只需测试一个非常简单的命令:

while true; do bash -c "echo hello"; done
Run Code Online (Sandbox Code Playgroud)

你会发现Cygwin中的bash有多慢.有人知道为什么吗?

这是win7上cygwin 1.7的全新安装.

感谢Jared的测试理念,我将命令修改为此(添加bash -c):

time for i in {1..10} ; do bash -c "echo Hello" ; done
Hello
...
real 0m7.711s //it's the problem
user 0m0.091s
sys 0m0.476s
Run Code Online (Sandbox Code Playgroud)

bash cygwin

18
推荐指数
4
解决办法
3万
查看次数

错误之后,Cygwin的bash变得非常缓慢

我意识到还有一些其他问题,为什么Cygwin显然很慢,但这种情况似乎是独一无二的.

我遇到了一些问题,其中事情报告了很多错误,然后重启后,从bash启动的任何进程都非常慢.老实说,我不知道是什么导致这种情况(我检查了taskmgr中的进程优先级;它仍然正常).

细节:

我在一夜之间运行了一些套接字代码的浸泡测试,并在早上回来发现我的屏幕充满了错误(DialogBoxes - 主要是尝试访问NULL指针)以及发送到命令行的很多东西.我无法捕获相当多的文本(计算机大多没有响应;我不得不手动重启).我确实记得一些引用"Win32错误6"的文本(我假设它意味着无效处理).

重新启动后,大多数事情都很好,但Cygwin/bash仍然没有反应.我按照另一个问题的建议运行了以下内容:

$ time for i in {1..10} ; do bash -c "echo Hello" ; done
...
real    1m12.244s
user    0m3.522s
sys     0m34.460s
Run Code Online (Sandbox Code Playgroud)

对于可怕的速度,不需要调用另一个bash实例:

$ time for i in {1..10}; do ls ; done    
# nb there are about 6 entries in pwd
....
real    0m47.718s
user    0m2.568s
sys     0m23.411s
Run Code Online (Sandbox Code Playgroud)

虽然内置确实足够快:

$ time for i in {1..10} ; do echo Hello ; done
....
real    0m0.001s
user    0m0.000s
sys     0m0.000s
Run Code Online (Sandbox Code Playgroud)

更新: 我刚刚实现了在当时和现在之间安装的Windows Update.我很高兴这不是太复杂或任何事情.(虽然,我相信其他同事已经安装了更新,并没有看到问题). …

bash cygwin

10
推荐指数
1
解决办法
853
查看次数

标签 统计

bash ×2

cygwin ×2