Что быстрее: сравнение через тег или через сам объект

Впрочем весь вопрос в заголовке. Что быстрее:

if (gameObject.tag == "Player")

или

if (gameObject == playerObject) //playerObject переменная типа GameObject

Ответы (1 шт):

Автор решения: Максим Фисман

Когда у меня возникают подобные вопросы, я открываю проект для экспериментов (у меня такой есть) и просто пробую. Окей, провел 3 эксперимента: в циклах (по 1 млн, 2 млн и 5 млн итераций) сравнил по объектам и тегам.

Результаты:

  1. По 1 млн
  • Оба: < 1 секунды
  1. 10 млн
  • По объектам: < 1 секунды - 1 секунды
  • По тегам: 4 секунды
  1. 100 млн
  • По объектам: 1-2 секунды
  • По тегам: 43 секунды.

Мне кажется результат очевиден

  1. Ради интереса заставил Юнити прогонять 1 млрд итераций.
  • по объектам: 15 секунд
  • По тегам: 6 минут 55 секунд

Мне кажется, результат очевиден

→ Ссылка