我有一个非常基本的数组,它附加一个值,具体取决于用户是按一个按钮还是另一个按钮。一个函数将在我的应用程序的viewDidLoad()
方法中调用,并将根据数组中的值执行一个函数(它将根据我正在查看的索引而有所不同,显然,但我们只关注第一个指数)。我可以使用“是”/“否”,String
或者使用true / false,bool
来附加数组。由于功能相对简单,我认识到这可能没什么大不了的,但我想为什么不尽我所能优化。让if
(或switch
)语句检查bool
比较比string
比较更快吗?或者是相反的方式?
答案 0 :(得分:3)
性能更好的做bool比较,因为它恰好比较1个值(例如0 = 0或0 = 1),因为字符串必须比较字符串中的每个字符以找到匹配或不匹配。
TL:DR bool比率比字符串比较快
答案 1 :(得分:1)
因为读取布尔值本质上是二元选项,例如True / False,而不是比较,所以它比进行字符串比较更快。虽然在这种情况下它只是边缘化,但读取布尔值以进行更大规模的计算肯定是有益的。
答案 2 :(得分:1)
要回答您提出的问题 - 是的,比较bool
比比较字符串更有效。
要回答您应该问的问题 - 针对您遇到瓶颈的情况优化性能,优化其他地方的简单性/可读性/可维护性。如果您不知道该部分是否是瓶颈,请了解如何衡量它。
在这种特殊情况下,有效和简单的情况可能是相同的,但是这个问题是错误的 - 不要在不重要的情况下尝试优化性能。