使用-O时,swiftc编译时比不使用-O时慢

使用-O时,swiftc编译时比不使用-O时慢,swift,optimization,swift-compiler,Swift,Optimization,Swift Compiler,我学习过swift编译器(swiftc) 我只是制作了一个关于排序算法的swift文件。(基数、合并、快速、堆..) 然后我使用或不使用优化标志(-O,-wmo)进行编译,并使用标志(-driver time compilation)检查时间 ⬇️ 结果1-不使用优化标志 ⬇️ 结果2-使用优化标志。 但结果1取壁时间0.3544。我认为墙上的时间真的很花时间 结果2取壁时间0.9037 我认为使用优化标志应该比不使用更快 你能帮我理解这是为什么吗? 我只想使用swiftc减少编译时间。显示

我学习过swift编译器(swiftc) 我只是制作了一个关于排序算法的swift文件。(基数、合并、快速、堆..) 然后我使用或不使用优化标志(-O,-wmo)进行编译,并使用标志(-driver time compilation)检查时间

⬇️ 结果1-不使用优化标志

⬇️ 结果2-使用优化标志。

但结果1取壁时间0.3544。我认为墙上的时间真的很花时间

结果2取壁时间0.9037

我认为使用优化标志应该比不使用更快

你能帮我理解这是为什么吗?

我只想使用swiftc减少编译时间。

显示的时间是编译时间,而不是执行时间。 优化需要时间,编译器必须更加努力地完成它们,在优化代码时编译花费更长的时间是完全正常的


这通常是预期的行为,一个小缺点是可以生成较大的可执行文件大小,但这通常不是一个问题

这些计时看起来像编译文件所需的时间,而不是运行优化后的可执行文件。优化需要时间,而且编译器必须更加努力地工作,这是正常的,编译需要更长的时间optimizing@DarioPetrillo哦它击中了我!非常感谢你!所以,哇。。使用优化比不使用优化要快得多。哇!然后我想知道使用优化有什么缺点吗?可能是一个更大的可执行文件,这取决于优化所做的,但在大多数情况下它只是better@DarioPetrillo哦,谢谢你!我发现并得到了使用优化的缺点。非常感谢。你为什么不回答我的问题?我想选你。非常感谢。我刚刚补充了我的答案