我有一个非常基本的数组,附加一个值取决于用户是否点击一个按钮或另一个。一个函数将在我的应用程序的viewDidLoad()
方法中调用,并将根据数组中的值执行一个函数(它会根据我正在查看的索引而有所不同,但我们只关注第一个索引)。我可以在数组中添加“是”/“否”,String
s,或者使用true/false,bool
s。由于功能相对简单,我认识到这可能没有什么大不了的,但我认为为什么不尽可能地进行优化。 if
(或switch
)语句检查bool
比较比string
比较检查是否更快?或者是周围的其他方式?正在阅读一个布尔比阅读一个字符串更快?
1
A
回答
3
由于它比较了1个值(例如0 = 0或0 = 1),因此字符串必须比较字符串中的每个字符以找到匹配或不匹配,所以执行bool比较会更好。
TL:DR布尔比较比字符串比较
1
更快,因为读一个boolean基本上是二元期权,e.g真/假,而不是一个比较,它比做一个字符串比较快。虽然在这种情况下它只是边际,但为更大的计算读取布尔值肯定会有好处。
1
要回答你问的问题 - 是的,比较bool
比比较字符串更高效。
要回答你应该问的问题 - 优化,你有瓶颈的性能,优化的简单/可读性/可维护性其他任何地方。如果你不知道这部分是否是瓶颈,请学习如何测量它。
在这种特定情况下的高效和简单的情况下可以是相同的,但是非常的问题是误导 - 不要试图优化性能的地方都无所谓。
相关问题
- 1. 阅读布尔,而由一个线程正在更新数组
- 2. 我正在阅读文件,但在阅读时,它正在阅读最后一个字符一次?
- 3. 阅读一个字符串位置
- 4. 阅读整个字符串
- 5. 阅读一个Unicode字符的文件
- 6. 图书馆阅读从一个字符串的数字在JS
- 7. 阅读字符串的一部分
- 8. 阅读每行一个串线在C#
- 9. 阅读单个字符java
- 10. PHPSECLIB阅读()与多个字符串
- 11. 如何阅读这个JSON字符串?
- 12. fscanf阅读多个字符串
- 13. 庆典:每次从一个字符串一个字符阅读文本
- 14. 字符串比较上一个布尔
- 15. 阅读字符串像StreamReader
- 16. 阅读字符串输入
- 17. 阅读JSON字符串
- 18. XML阅读字符串值
- 19. Html字符串阅读器
- 20. 阅读json字符串
- 21. 阅读从字符串
- 22. 阅读和更新XML字符串
- 23. python阅读下一个()
- 24. 阅读下一个值
- 25. 阅读从一个JTextField
- 26. 阅读一个.pdb文件
- 27. 阅读一个pgm文件
- 28. 读字符串如何阅读本
- 29. 阅读一个文本文件,并在android中搜索一个字符串
- 30. 阅读一个字符串,并在程序集中解析一个整数
添加从问题内容推导出的'android'和'java'标记。 – Thomas
删除了'android'和'java'标签,因为它似乎是一个iOS开发问题。 –