gpt4 book ai didi

c++ - 在计算密集型程序中正确使用流

转载 作者:太空宇宙 更新时间:2023-11-04 16:23:09 24 4
gpt4 key购买 nike

我有一个程序可能需要 3-4 小时才能完成。进行中 我需要将各种信息输出到一个通用文件“info.txt”中。这是我目前的做法

char dateStr [9];
char timeStr [9];
_strdate(dateStr);
_strtime(timeStr);

ofstream infoFile("info.txt", ios::out);
infoFile << "foo @ " << timeStr << " , " << dateStr << endl;
infoFile.close();

我在一次运行中做了五次。我的问题如下:是否最合适(效率方面和标准方面)

  1. 在每次输出后关闭 infoFile(因此,使用五个流 infoFile1、infoFile2、...、infoFile5,每次输出一个)
  2. 或者只使用“infoFile”,因此在整个运行过程中打开它?

编辑:“单次运行”是指程序的单次运行。因此,“单次运行五次”是指我在运行程序一次(需要 3-4 小时)时向 info.txt 输出一些内容。

最佳答案

首先;在优化之前获取数字,使用分析器。然后你就知道哪些部分花费的时间最多。如果您没有分析器,请在做任何事情之前考虑一下。在这 3-4 小时内,您将进行多少次运行?如果每次运行只发生一次的事情很少,则不太可能成为优化的好目标,如果运行的次数很多,那么这些部分也可以考虑,因为磁盘访问可能会相当慢。

话虽如此,通过重用流而不是打开和关闭,我在以前的项目中节省了一些时间。

关于c++ - 在计算密集型程序中正确使用流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com