Я работаю над игрой, в одном классе у меня на данный момент 4 флага (я использую логическое), но я бы хотел переключиться на int и сделать каждый флаг немного. Некоторые мои флаги проверяются внутри основного цикла каждый раз, так что смотрим в будущее (где у меня может быть больше флагов): мой флагшток замедлит мою программу? Лучше ли продолжать использовать boolean?Доступ к булевой переменной быстрее, чем доступ к флагам int?
ответ
Оптимизация должна основываться только на том, как часто вы собираетесь что-то использовать. Это большой убийца в эффективности программирования. Способ определить, нужно ли вам что-то оптимизировать, выяснить, как часто он будет использоваться.
Итак, если вы собираетесь использовать что-то один или два раза в секунду или когда пользователь вручную что-то делает, ответ скорее всего будет «не беспокоить». С другой стороны, если оптимизация выполняется в том, что работает непрерывно тысячу раз в секунду, тогда ответ «возможно». Позднее зависит от того, сколько часов работает. Случай с флагом, проверяющим ответ, скорее всего, нет, поскольку тактика часов либо ничтожно мала. Лучшая оптимизация может заключаться в том, почему вы вызываете эту функцию, рутину и т. Д. ... так много раз, чтобы начать.
Звучит так, как будто вы довольно новичок. Итак, вот что я вам посоветую: программируйте свою игру и думайте об оптимизации только тогда, когда заметите что-то вроде отставания. В противном случае это не так важно. Сосредоточьтесь на других вещах, таких как читаемость и повторное использование кода.
- 1. Почему доступ к методу кажется быстрее, чем доступ к полям?
- 2. Доступ к массиву происходит быстрее, чем доступ к вектору?
- 3. Доступ к многопоточной памяти быстрее, чем доступ к однопоточной памяти?
- 4. Умножается быстрее, чем доступ к массиву?
- 5. Доступ к флагам в синхронизированных методах?
- 6. Доступ к флагам без встроенной сборки?
- 7. Доступ к булевой форме Форма Sqlite
- 8. Доступ к переменной int из другого класса
- 9. Доступ к имени переменной
- 10. Доступ к 1D текстурной памяти быстрее, чем 1D доступ к глобальной памяти?
- 11. Зачем нужен доступ к двумерному массиву быстрее, чем доступ к 1-му массиву?
- 12. Быстрее ли обращаться к локальной переменной, чем к атрибуту объекта?
- 13. Доступ к переменной C#
- 14. Доступ к родительской переменной
- 15. Доступ к переменной владельцев
- 16. Доступ к переменной родителя
- 17. Доступ к переменной Javascript
- 18. Доступ к переменной - iphone
- 19. Доступ к переменной remote_user
- 20. Доступ к переменной Python
- 21. Доступ к переменной grandparent
- 22. Доступ к переменной класса
- 23. Доступ к экземпляру переменной
- 24. Доступ к имени переменной
- 25. Доступ к элементу переменной
- 26. Доступ к глобальной переменной?
- 27. Доступ к переменной подписчика
- 28. Доступ к глобальной переменной
- 29. Доступ к переменной услуге
- 30. Почему доступ к ресурсу медленнее, чем доступ к члену
У вас есть основания полагать, что производительность вашей игры будет зависеть от того, как реализован * битфлаг *? Напишите свой код * чисто * сначала, затем профиль, и только оптимизируйте * после * своего профиля. –
Это классический случай преждевременной оптимизации. Побитовые операторы и логическая проверка настолько безумно быстры, что не имеют значения, если вы не делаете сотни миллионов из них в секунду. В этот момент ... почти * что-нибудь еще, что вы делаете, будет стоить больше времени. – Draco18s
@NicolBolas В одном методе мне нужно сравнить логическое, а в другом я должен получить значение флага и сравнить его. Я пытаюсь написать максимально эффективный код. Downvoters PLS объяснить ... – Xriuk