sách gpt4 ai đã đi

Tối ưu hóa C++

In lại 作者:塔克拉玛干 更新时间:2023-11-03 00:52:32 30 4
mua khóa gpt4 Nike

我正在处理一些现有的 C++ 代码,这些代码看起来写得不好,而且调用频率很高。我想知道我是否应该花时间更改它,或者编译器是否已经在优化问题。

我正在使用 Visual Studio 2008。

这是一个例子:

void someDrawingFunction(....)
{
GetContext().DrawSomething(...);
GetContext().DrawSomething(...);
GetContext().DrawSomething(...);
.
.
.
}

下面是我的做法:

void someDrawingFunction(....)
{
MyContext &c = GetContext();
c.DrawSomething(...);
c.DrawSomething(...);
c.DrawSomething(...);
.
.
.
}

1 Câu trả lời

不要猜测您的程序将时间花在哪里。 首先分析以找到您的瓶颈,然后对其进行优化。

Đối vớiGetContext(),那要看它的复杂程度了。如果它只是返回一个类成员变量,那么编译器很可能会将其内联。如果 GetContext() 必须执行更复杂的操作(例如在表中查找上下文),编译器可能不会内联它,您可能希望只调用它一次,因为在你的第二个片段中。

如果您使用的是 GCC,您还可以使用 pure thuộc tính đánh dấu GetContext() 函数.这将允许它执行更多优化,例如 common subexpression elimination .

关于C++ 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/811794/

30 4 0
Bài viết được đề xuất: c++ - 定义数组,然后改变它的大小
Bài viết được đề xuất: linux - 获取 nohup R 程序完成的时间
Bài viết được đề xuất: regex - 如何用awk拆分单列的输出?
Bài viết được đề xuất: C++ 动态内存细节
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com