空块有没有真正的性能影响?
解决方法 开销应该可以忽略不计:您可以使用Instruments和一个简单的程序来检查:#import <Foundation/Foundation.h>int main(int argc,const char * argv[]) { @autoreleasepool { dispatch_queue_t q = dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_HIGH,0); voID (^b)(voID) = ^{ }; double d = 2.0; for(int i = 0; i < 10000000; ++i) { dispatch_sync(q,b); d = d * 1.5 - 1.0; } NSLog(@"d = %.3f",d); } return 0;}
正如您在Instruments堆栈跟踪中所看到的,对于空块的10百万次同步调用,调用需要40ms.这没有多少开销.
总结以上是内存溢出为你收集整理的ios – 在队列上运行空块的开销是多少全部内容,希望文章能够帮你解决ios – 在队列上运行空块的开销是多少所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)