手动开启o2 o3 优化
作者:
假如有点困
,
2024-01-31 14:04:52
,
所有人可见
,
阅读 293
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
-O2和-O3是编译器的优化选项,用于告诉编译器在生成可执行程序时进行不同级别的优化。这些选项会使编译器尝试在代码生成过程中应用各种优化技术,以改善程序的性能和执行速度。
-O2表示进行中级优化,而-O3表示进行更高级别的优化。这两个选项都是在编译时指定的参数,可以根据需要选择适当的优化级别。
以下是对-O2和-O3优化选项的简要说明:
-O2优化选项:
-O2会启用一系列的编译器优化技术,包括循环展开、函数内联、常量传播、代码移动等。
这些优化旨在提高程序的执行速度和整体性能,同时保持较快的编译速度。
-O2相对较保守,可以提供显著的性能改进,而且通常不会引入太多的编译时间延迟。
-O3优化选项:
-O3是更高级别的优化选项,它包含了-O2中的所有优化,同时引入了更多的高级优化技术。
这些高级优化包括函数内存局部性改善、自动向量化、循环变量展开等。
-O3可以进一步提高程序的执行速度和性能,但相应地也会增加编译时间。