是否有理由更喜欢在IDE中运行应用程序而不是运行独立的可执行文件?

时间:2018-01-26 17:20:12

标签: c++ ide cplex

我使用C ++整数编程例程来开发更快的专门方法来解决困难的NP-Hard问题。我遇到了一个较早的问题,当从IDE(Visual Studio)启动应用程序而不是从命令行运行构建的应用程序而不打开IDE时,更多地处理不同的结果。 / p>

Differences between running an executable with Visual Studio debugger vs without debugger

这个问题不是关于不同的结果,而是关于每个选项(从IDE内部运行与运行可执行程序独立运行)是否对计算时间和性能有任何影响。在我的工作中,重要的是要证明我们开发的任何专用算法在计算时间方面与使用CPLEX等通用现成求解器直接求解整数程序相比要好得多。测试这两个选项(我们的专用算法与CPLEX直接)需要使用嵌入在C ++文件中的CPLEX例程和库生成线性/整数编程模型。

然后,每个设置都在Visual Studio(F7)中构建并运行(F5)。请注意,F7本身会生成可执行文件。

为了给每个方法(我们的专业算法或CPLEX直接)提供尽可能快的计算时间运行的最佳机会,建议通过在IDE中按F5启动应用程序(在本例中为Visual Studio),或者最好是在没有打开IDE的情况下将应用程序(由构建F7生成)作为.exe运行?假设从两个选项的同一文件夹(IDE与独立.exe)访问所需的工作目录和中间文件。

换句话说,IDE的启动是否与直接运行.exe的方式有所不同,从而对应用程序的计算时间产生影响?

1 个答案:

答案 0 :(得分:1)

在Visual Studio中,您的程序作为独立进程运行。在开始之前,您可以选择Debug或Release版本来运行。 Release版本已启用优化。

在IDE中运行时,VS正在监视您的应用程序,因此可能存在某种开销。您需要在特定的机器上进行测量以了解多少。

使用ctrl-f5,您可以在IDE外部运行应用程序。