Visual Studio中的条件优化

狗狗

我有这样的代码:

void f()
{
  //Some function I want to debug
  g();
  //More code
}
void g()
{
  //A very slow function I want to have optimized for performance
  //No debugging this code
}

其中f是我要调试的代码中的任何函数,g是计算密集型函数。

当我使用Release配置编译代码时,两段代码都得到了优化,并且都在合理的时间内运行,但是当我使用Debug配置进行编译时,由于编译器没有优化代码以使其无法执行,因此g需要花费很长时间执行保持调试器友好。

我不需要从调试的角度来处理g,也不能将其提取到预编译的模块中(它正在开发中,需要保持最新状态)。它们在不同的文件中定义。

有没有一种方法可以告诉Visual Studio编译g的速度,同时保持使用Debug配置对f进行编译?

格茨

您可以f进入另一个编译单元,例如另一个文件或#pragma optimize后者可能是更好的选择,因为与更改特定文件上的编译设置相比,要忘记设置您的设置是更难的,您必须记住要重新设置并重新设置。

或者,您可以仅在调试模式下进行概要分析,然后看看发生了什么。由于VS Premium及更高版本包含了这些工具,这些工具应该不会太难,或者您可以使用第三方工具。进行分析通常可以很好地了解导致任何速度下降的真正原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Visual Studio 2015中优化返回值?

来自分类Dev

在Visual Studio中配置编译器优化选项

来自分类Dev

Visual Studio 2012中的条件资源编译

来自分类Dev

Visual Studio Code中的条件断点

来自分类Dev

Visual Studio 2012中的条件断点

来自分类Dev

Visual Studio是否正在优化传递引用?

来自分类Dev

Visual Studio调试优化如何工作?

来自分类Dev

为Visual Studio中的所有构建定义条件常量

来自分类Dev

Visual Studio中多个命中次数的条件断点

来自分类Dev

确定C ++编译器是否将在Visual Studio中以某种方式进行优化

来自分类Dev

Visual Studio 2019社区版中是否提供PGO(配置文件导向的优化)工具?

来自分类Dev

确定C ++编译器是否将在Visual Studio中以某种方式进行优化

来自分类Dev

Visual Studio中的XSLT

来自分类Dev

Visual Studio 2013优化标志(/ O2与/ Ox)

来自分类Dev

为什么这些 Visual Studio 2017 优化会导致错误?

来自分类Dev

Visual Studio 优化破坏了 SDL 图形输出

来自分类常见问题

在Visual Studio中打开终端?

来自分类Dev

使IntelliSense在Visual Studio中工作

来自分类Dev

Visual Studio中的Ajax请求

来自分类Dev

Visual Studio中的OpenMP任务

来自分类Dev

在Visual Studio中运行Sosex

来自分类Dev

Visual Studio扩展中的颜色

来自分类Dev

了解Visual Studio中的资源

来自分类Dev

Visual Studio中的C ++错误

来自分类Dev

Visual Studio中的Phalanger错误

来自分类Dev

Visual Studio 2013中的OpenGL

来自分类Dev

Visual Studio中的缩放问题

来自分类Dev

在Visual Studio中循环GUI

来自分类Dev

Visual Studio中的Ajax请求