gpt4 book ai didi

ios - dispatch_once 对简单的 NSArray 有帮助吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:29 25 4
gpt4 key购买 nike

dispatch_once

+ (NSArray *)titles
{
static NSArray *_titles;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_titles = @[@"Your Move",
@"Their Move",
@"Won Games",
@"Lost Games",
@"Options"];
});
return _titles;
}

简单

+ (NSArray *)titles
{
return @[@"Your Move",
@"Their Move",
@"Won Games",
@"Lost Games",
@"Options"];
}

哪个最快?编译器是不是很聪明?对于字符串,将它们包装在 dispatch_once ( NSString – static or inline? Is there any performance gains? ) 中没有性能提升。所以这一切都归结为是否每次都分配了这个数组,对吧?

最佳答案

问题是,这段代码将多久执行一次。如果它是每秒几千次,那可能会很重要,因为每次运行都会节省几毫秒。但从标题来看,我预计它会偶尔被访问,也许每 10 分钟一次。如果将几毫秒与 600 秒进行比较,您会得到非常小的、几乎不存在的改进。

这将是微观优化。

相反,您应该在 2 种情况下进行优化:在运行时,您发现需要优化,并且您能够识别一个代码块,如果对其进行优化,将会给您带来巨大的改进。要找到这些,请使用 Instruments。

关于ios - dispatch_once 对简单的 NSArray 有帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com