1

我正在尝试在 XCode 8 中使用配置文件引导优化。

我已按照此处的说明进行操作。如文档中所述,我确保使用 XCode 中的停止按钮终止我的应用程序。

我验证了编译和链接命令包含-fprofile-instr-generate参数。

该过程成功生成了一个 .profdata 文件,但该文件只有 1064 字节,考虑到我的程序在配置文件生成期间执行了数万或数十万次函数调用,这似乎非常小。运行“ xcrun -sdk iphoneos llvm-profdata show <profdata file>”会产生以下输出:

Total functions: 0
Maximum function count: 0
Maximum internal block count: 0

这似乎表明我的 profdata 文件是完全空的!

在这一点上,我非常卡住,我不确定如何生成有效的 .profdata 文件。任何人都可以提供指导吗?

4

1 回答 1

1

生成优化配置文件时,以某种方式退出应用程序很重要。

尽管 Apple 文档相反,但我观察到通过按 XCode 中的“停止”按钮退出应用程序不会生成有效的配置文件——相反,它会生成一个 1064 字节的配置文件,其中包含零函数。

我了解到,通过调用exit(0)或通过 iOS 界面终止应用程序(在 iOS 10 中:双击主页按钮,向上滑动)退出应用程序确实会正确生成配置文件。在我的例子中,正确生成的配置文件是 34 兆字节。

于 2017-01-25T20:47:08.050 回答