[英]Why using dispatch_async is so slow compared to not using it at all?
[英]Why is using dispatch_async helping with performance so much?
我承认,我在网上找到了这段代码-用了它-兴隆起来! 我获得了很大的性能提升。
我的代码如下所示:
并使用Time Profiler,我发现成为FirstResponder变得很疯狂,如下所示(在createOrEditItem中):
所以我打了谷歌,像这样改变它:
而且Time Profiler甚至没有将其显示为“热门”方法!
我的问题很简单,为什么? 这里发生的技术魔术是什么?
谢谢。
当您异步地调度代码在同一线程上运行时(如您在示例中所做的那样),您正在调度其在下一个运行循环周期内运行。
它并不能将性能从一个运行循环循环到下一个循环,从而将工作量分散到多个运行循环中,从而使它看起来更流畅,更快。 如果您有来自dummyTextField
成为第一响应者的副作用,这也可以解释一下为什么它看起来更dummyTextField
原因,因为副作用再次被推送到下一个运行循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.