C++ 性能有时较慢
我有一个应用程序可以启动,将数据发送到服务器,然后关闭。大约25%的时间是完成该过程所需时间的两倍。网络是封闭的,当我用其他软件进行类似的测试时,传输总是在很短的时间内完成,所以我很有信心这是我的软件的问题 我用Performance Monitor进行了很多次捕获,除了速度变慢之外,没有什么特别的。例如,在“正常”传输期间,“%处理器时间”约为7%。在缓慢的转移过程中,它下降到约4%。同样,正常情况下传输速度为55MB/秒,慢速情况下传输速度为30MB/秒 我似乎已经分析了所有数据,但我似乎无法找出经济放缓的根本原因 有什么建议或工具可以帮助我缩小问题的范围吗C++ 性能有时较慢,c++,performance,C++,Performance,我有一个应用程序可以启动,将数据发送到服务器,然后关闭。大约25%的时间是完成该过程所需时间的两倍。网络是封闭的,当我用其他软件进行类似的测试时,传输总是在很短的时间内完成,所以我很有信心这是我的软件的问题 我用Performance Monitor进行了很多次捕获,除了速度变慢之外,没有什么特别的。例如,在“正常”传输期间,“%处理器时间”约为7%。在缓慢的转移过程中,它下降到约4%。同样,正常情况下传输速度为55MB/秒,慢速情况下传输速度为30MB/秒 我似乎已经分析了所有数据,但我似乎无
(应用程序是C++,运行在Windows 2008和Windows 7上,两个问题上都有相同的问题)
谢谢 在现代机器上使用多个线程时,只能获得70%的cpu利用率。因此,如果您绝对确定这种下降不能用更长的I/O等待时间来解释,那么下一步要做的就是使用一个好的并发分析器来查找线程问题。编辑:对不起,我误报了cpu利用率。实际上是7%和4%,而不是70%和40%。我以前打开过缩放功能,但忘记关闭它。你必须消除变量,例如,在另一台计算机上尝试。如果你用的是笔记本电脑,那可能会省电。在wifi上,可能链接在不同速度之间切换。也许值得一试Wireshark,看看这是否是一个奇怪的TCP节流问题。看看FTP是否也会发生这种情况。如果您的CPU利用率很低,那么您的问题肯定是I/O受限,或者是由于其他锁定/等待机制造成的。你有我们的密码吗?