Performance 哪个switch语句生成的机器代码效率最低?

Performance 哪个switch语句生成的机器代码效率最低?,performance,switch-statement,machine-code,Performance,Switch Statement,Machine Code,我在一次测试中遇到了一个问题,要求我回答哪个switch语句产生的机器代码效率最低。可能的答案是O4、O1、O2或O3。我不知道这些是什么意思。GCC -O -O1 优化优化编译需要更多的时间,对于一个大函数来说,需要更多的内存 -氧气 进一步优化。GCC执行几乎所有不涉及空间速度权衡的受支持优化。与-O相比,此选项增加了编译时间和生成代码的性能 -臭氧 进一步优化 -操作系统 优化大小 -过去 无视严格的标准遵从性-Ofast支持所有O3优化。它还支持对所有标准兼容程序无效的优化 取决于编译器

我在一次测试中遇到了一个问题,要求我回答哪个switch语句产生的机器代码效率最低。可能的答案是O4、O1、O2或O3。我不知道这些是什么意思。

GCC

-O -O1 优化优化编译需要更多的时间,对于一个大函数来说,需要更多的内存

-氧气 进一步优化。GCC执行几乎所有不涉及空间速度权衡的受支持优化。与-O相比,此选项增加了编译时间和生成代码的性能

-臭氧 进一步优化

-操作系统 优化大小

-过去 无视严格的标准遵从性-Ofast支持所有O3优化。它还支持对所有标准兼容程序无效的优化


取决于编译器和语言?需要上下文对不起,我想你误读了那个问题(可能不是关于开关语句,而是关于编译器开关),你这里的问题完全无法回答,因为上下文、代码、语言都不见了。@Paul Manta:O1,O2。。。是编译器开关,而不是C风格的开关语句。你必须从他们问这类“问题”的地方运行。尽可能快地运行。记住编译器开关似乎完全是浪费时间。这就是文档的用途。真正的诀窍是理解文档的意思。我认为gcc中的选项数是模三,所以-O4实际上是-O0。很容易测试。。。