Pét*_*son 5 objective-c
与blabla不使用try块调用相比,这会导致性能下降吗?
blabla
-(void)bla{ @try{ [self blabla]; } @catch (NSException *e) { // Do nothing } }
Bry*_*hen 5
来自文档
零成本 @try 块 进入零成本 @try 块的 64 位进程不会导致性能损失。这与 32 位进程的机制不同,后者调用 setjmp() 并执行额外的“簿记”。但是,在 64 位可执行文件中抛出异常的代价要高得多。为了在 64 位中获得最佳性能,您应该仅在绝对必要时抛出异常。
零成本 @try 块
进入零成本 @try 块的 64 位进程不会导致性能损失。这与 32 位进程的机制不同,后者调用 setjmp() 并执行额外的“簿记”。但是,在 64 位可执行文件中抛出异常的代价要高得多。为了在 64 位中获得最佳性能,您应该仅在绝对必要时抛出异常。
所以没有64 位进程的开销
归档时间:
12 年,8 月 前
查看次数:
432 次
最近记录: