影响STD :: COUT对程序的性能

Affect on std::cout on performance of the program

本文关键字:性能 程序 COUT STD 影响      更新时间:2023-10-16

我编写了一个程序,该程序将获取文件详细信息并将其放置在SQLite数据库中。在此过程中,我观察到了两种情况:

方案1:

  1. 循环浏览每个文件,并填写文件详细信息(路径)到数据库(sqlite3)。
  2. 对于每个遇到的文件时,请保持计数器并打印相同通过STD :: Cout。执行此程序所花费的时间:30分钟

方案2:

  1. 循环浏览每个文件,并填写文件详细信息(路径)到数据库(sqlite3)。

执行此程序所花费的时间:7分钟

我非常不清楚为什么仅仅是因为std::cout花费的时间比不打印的时间高5倍

在这种情况下的任何指针都非常感谢。

非常感谢。

问候,拉维

尝试使用 std::ios_base::sync_with_stdio(false),默认情况下std :: cout与stdio

在控制台上打印是昂贵的。通常比写入文件更耗时。

我敢打赌,您的代码可能会在不到一分钟的时间内运行。确保您包围交易中的一些插入物。您也可以在一个语句中使用多个插入物,如此问题的答案中所述。