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

Why does my C++ program use more system time than run time?

本文关键字:时间 系统 运行时间 我的 C++ 程序 为什么      更新时间:2023-10-16

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

它使用 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.

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

不知道你正在运行什么分析工具来告诉你,因为谷歌什么也没想出来,但是,该工具是错误的。这里没有问题。