1. O2,O3

貌似这比在编译命令里写-O2,O3 效果会差很多

但是确实能优化加速

代码:

#pragma GCC optimize("O2")
#pragma GCC optimize("O3")

2. Ofast,no-stack-protector

不知道,好象是把什么——栈の保护去掉了。

经过实验证明这个命令优化效果最好,把我的 1.2S 的 FFT 优化到了 0.4S

可能一寸长,一寸强吧。

代码这么写:

#pragma GCC optimize("Ofast,no-stack-protector")

3. avx

更不知道了。听 boshi 说是优化 cpu 指令用的。

貌似有一次我用了结果程序就爆了

慎用。

代码:

#pragma GCC target("avx")

4. 在洛谷 轻如晨曦 代码中的优化命令

#pragma GCC optimize("Ofast")
#pragma GCC target("sse3","sse2","sse")
#pragma GCC target("avx","sse4","sse4.1","sse4.2","ssse3")
#pragma GCC target("f16c")
#pragma GCC optimize("inline","fast-math","unroll-loops","no-stack-protector")
#pragma GCC diagnostic error "-fwhole-program"
#pragma GCC diagnostic error "-fcse-skip-blocks"
#pragma GCC diagnostic error "-funsafe-loop-optimizations"
#pragma GCC diagnostic error "-std=c++14"
分类: 文章

XZYQvQ

炒鸡辣鸡的制杖蒟蒻一枚QvQ

1 条评论

(GCC) C++代码中使用#pragma GCC optimize / #pragma G++ optimize | 高性能架构探索 · 2023年2月12日 4:48 下午

[…] 经过实验证明这个命令优化效果最好,把我的 1.2S 的 FFT 优化到了 0.4S 使用 pragma 命令优化程序: […]

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注