我有一個非常基本的數組,附加一個值取決於用戶是否點擊一個按鈕或另一個。一個函數將在我的應用程序的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. 閱讀一個Unicode字符的文件
- 4. 圖書館閱讀從一個字符串的數字在JS
- 5. 閱讀每行一個串線在C#
- 6. 閱讀單個字符java
- 7. 如何閱讀這個JSON字符串?
- 8. 字符串比較上一個布爾
- 9. 閱讀JSON字符串
- 10. Html字符串閱讀器
- 11. 閱讀json字符串
- 12. 閱讀字符串像StreamReader
- 13. 讀字符串如何閱讀本
- 14. 閱讀一個.pdb文件
- 15. 閱讀下一個值
- 16. python閱讀下一個()
- 17. 閱讀一個文本文件,並在android中搜索一個字符串
- 18. 閱讀一個字符串,並在程序集中解析一個整數
- 19. 閱讀文件並存儲到一個字符串
- 20. C#:閱讀網頁的HTML源到一個字符串
- 21. 閱讀使用scanf()的一個特定的字符串
- 22. 爲什麼stdin是一行一行地閱讀,而不是像字符串一樣一字一句地閱讀?
- 23. 多次讀取一個閱讀器
- 24. 在同一時間閱讀的字符串,3x3的字符
- 25. 閱讀在java特殊字符在一個文件中的字符串
- 26. 爲什麼第一個閱讀器運行第二個閱讀器讀取()運行得更快,然後在自己的閱讀器上運行呢?
- 27. Golang從同一個閱讀器多次閱讀
- 28. CSV閱讀器字符串浮在python
- 29. 閱讀,找到字符串,然後讀取字符串
- 30. 閱讀更多,閱讀更少混合
添加從問題內容推導出的'android'和'java'標記。 – Thomas
刪除了'android'和'java'標籤,因爲它似乎是一個iOS開發問題。 –