首页 > 解决方案 > 使用 -O 时 swiftc 编译时间比不使用时更慢

问题描述

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

⬇️ result1 - 不使用优化标志 在此处输入图像描述

⬇️ result2 - 使用优化标志。 在此处输入图像描述

但 result1 花费了 0.3544 壁时间。我认为墙上的时间真的很花时间。

结果 2 花费了 0.9037 壁时间。

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

你能帮我理解这是为什么吗?
我只想使用 swiftc 来减少编译时间。

标签: swiftoptimizationswift-compiler

解决方案


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

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


推荐阅读