使用 -O 比不使用时 swiftc 编译时间更慢
swiftc compile time is more slow when using -O than not using
我研究过 swift 编译器 ( swiftc )
我只是制作了一个 swift 文件,其中写了关于排序算法的内容。 (基数、合并、快速、堆 ..)
然后我使用或不使用优化标志(-O、-wmo)进行编译,并使用标志 (-driver-time-compilation)
检查时间
⬇️ 结果 1 - 未使用优化标志
⬇️ result2 - 使用优化标志。
但 result1 花费了 0.3544 wall time。我觉得wall time真的很花时间。
结果 2 花费了 0.9037 时间。
我认为使用优化标志应该比不使用更快。
你能帮我理解这是为什么吗?
我只想使用 swiftc.
来减少编译时间
您显示的时间是编译 次,而不是执行时间。
优化需要时间,编译器必须更加努力地完成它们,优化代码时编译时间更长是完全正常的。
这通常是预期的行为,一个小缺点是可以生成更大的可执行文件大小,但这通常不是问题
我研究过 swift 编译器 ( swiftc ) 我只是制作了一个 swift 文件,其中写了关于排序算法的内容。 (基数、合并、快速、堆 ..) 然后我使用或不使用优化标志(-O、-wmo)进行编译,并使用标志 (-driver-time-compilation)
检查时间⬇️ 结果 1 - 未使用优化标志
⬇️ result2 - 使用优化标志。
但 result1 花费了 0.3544 wall time。我觉得wall time真的很花时间。
结果 2 花费了 0.9037 时间。
我认为使用优化标志应该比不使用更快。
你能帮我理解这是为什么吗?
我只想使用 swiftc.
您显示的时间是编译 次,而不是执行时间。 优化需要时间,编译器必须更加努力地完成它们,优化代码时编译时间更长是完全正常的。
这通常是预期的行为,一个小缺点是可以生成更大的可执行文件大小,但这通常不是问题