为什么我的C ++程序比运行时使用更多的系统时间?

时间:2016-01-27 02:23:13

标签: c++ cpu-time

我有一个程序,它使用命令行重定向从文本文件中读取一长串单词。没有文件流。

使用getline(cin, string)获取数据并将其读入矢量。然后我的程序处理数据。它还使用动态内存(不确定这个事实是否相关)。

为什么我收到此错误:

Warning: Your program used more system time (0.001 sec) than user time (0.000 sec).
    This may be due to excessive I/O, overly frequent time measurement
    (via getrusage for example), or unnecessary system calls.

1 个答案:

答案 0 :(得分:1)

您的代码正在读取和写入文件,从而导致open()read()write()系统调用等。 “用户”和“系统”时间分别是在用户空间和系统/内核空间中花费的CPU时间。内核也可以使用多个CPU,因此拥有比“实时”高得多的“CPU时间”并不奇怪。

不知道你正在运行哪种分析工具告诉你,因为Google没有提供任何东西,但是,该工具是错误的。这里没有问题。