问题描述
我正在使用 Xcode 和 iPhone X 设备分析我的应用程序(使用代号 One 构建)。我注意到,在繁重的计算(单线程或多线程)期间,sigprocmask
和 __sigaltstack
(来自 libsystem_kernel.dylib
)是最大的时间消耗者,每个都超过 20%.这是一个巨大的开销。有谁知道这是从哪里来的,是否有办法减少开销?
解决方法
不是这些方面的专家,但据我所知,它们是低级内核调用。我认为这两个都是分析器的开销,因此如果您在没有分析器的情况下运行它们,它们将不会是最重要的。
再说一次,不是专家,但这是有道理的。分析器需要定期找出有关当前方法和堆栈的信息。