Mar*_*tin 1 c++ compiler-construction performance build
我有一个带循环的函数,我将在c ++代码中获得循环的扩展开发.我也有一个递归函数,我希望得到相同的.
我需要的一个例子:
for (i = 0; i <4; i++)
{
printf ("%d", "example");
}
Run Code Online (Sandbox Code Playgroud)
应该导致我需要
printf ("%d", "example");
printf ("%d", "example");
printf ("%d", "example");
printf ("%d", "example");
Run Code Online (Sandbox Code Playgroud)
这是一个简单的例子.但是我需要为更复杂的功能做这件事.我使用它的价值visual c++.我不知道是否有这样的构建选项.
如果您正在使用GCC编译代码,那么您可以使用-funroll-loop选项来取消循环此循环.
该文件说,
- -funroll-loops
展开循环,其迭代次数可以在编译时或进入循环时确定.-funroll-loops意味着-frerun-cse-after-loop.此选项使代码变大,可能会也可能不会使代码运行得更快.
还有另一个(类似的)选择:
- -funroll-all-loops
展开所有循环,即使在输入循环时它们的迭代次数不确定.这通常会使程序运行得更慢.-funroll-all-loops意味着与-funroll-loops相同的选项,