最近我们将代码升级为使用GCD队列。我们看到CPU使用率增加(旧的50%,新的150%)。当我们使用Time Profiler时,我们发现主要区别在于“com.apple.libdispatch-manager”线程的CPU利用率。我假设这是与内核事件交互并管理调度队列的线程。
这是预期的变化吗?
答案 0 :(得分:1)
如果您的新GCD代码导致更好/更多并行执行代码,则会发生更改。但是,如果您创建很多的小/快执行块,您实际上可能会浪费周期(线程管理与实际完成的工作),您可能想重新考虑您的设计。