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



我使用C++整数编程例程,为困难的NP-Hard问题开发更快的专用方法。我遇到了一个较早的问题,它更多地涉及从IDE(Visual Studio)中启动应用程序时获得不同的结果,而不是从命令行运行构建的应用程序而不打开IDE。

使用 Visual Studio 调试器运行可执行文件与不使用调试器运行可执行文件之间的差异

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

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

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

换句话说,IDE 启动是否与直接运行.exe有任何显着区别,从而对应用程序的计算时间产生影响?

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

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

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

最新更新