Помогите Оптимизация

  • Автор темы Автор темы CoolBoy
  • Дата начала Дата начала
Когда игрок зашёл на сервер, он Player. Пока он не выйдет, объект разумеется поменяться не может.
У Player-а есть uuid, и есть ник, они поменяться во время сессии не могут.
Сравнивать что ники, что uuid-ы, долго, нужнопочти O(N) от длины строки.
Сравнить две ссылки на объект Player -- примерно как сравнить два long-а. При этом не надо обращаться по этим адресам и этим выгружать какую-то потенциально нужную кэш-линию.

Так что player1 == player2 куда быстрее, чем
player1.getName().equals(player2.getName());
или
player1.getUniqueId().equals(player2.getUniqueId());

Только нужно аккуратно отслеживать вновь входящих и выходящих игроков, для них объекты Player меняются. И не забывать про игроков во время onEnable.
 
Когда игрок зашёл на сервер, он Player. Пока он не выйдет, объект разумеется поменяться не может.
У Player-а есть uuid, и есть ник, они поменяться во время сессии не могут.
Сравнивать что ники, что uuid-ы, долго, нужнопочти O(N) от длины строки.
Сравнить две ссылки на объект Player -- примерно как сравнить два long-а. При этом не надо обращаться по этим адресам и этим выгружать какую-то потенциально нужную кэш-линию.

Так что player1 == player2 куда быстрее, чем
player1.getName().equals(player2.getName());
или
player1.getUniqueId().equals(player2.getUniqueId());

Только нужно аккуратно отслеживать вновь входящих и выходящих игроков, для них объекты Player меняются. И не забывать про игроков во время onEnable.
спасибо сохранил C:
 
Когда игрок зашёл на сервер, он Player. Пока он не выйдет, объект разумеется поменяться не может.
У Player-а есть uuid, и есть ник, они поменяться во время сессии не могут.
Сравнивать что ники, что uuid-ы, долго, нужнопочти O(N) от длины строки.
Сравнить две ссылки на объект Player -- примерно как сравнить два long-а. При этом не надо обращаться по этим адресам и этим выгружать какую-то потенциально нужную кэш-линию.

Так что player1 == player2 куда быстрее, чем
player1.getName().equals(player2.getName());
или
player1.getUniqueId().equals(player2.getUniqueId());

Только нужно аккуратно отслеживать вновь входящих и выходящих игроков, для них объекты Player меняются. И не забывать про игроков во время onEnable.
Хм. Тоесть, если я буду в классе EPlayer хранить обьект Player, вместо String name - будет быстрее и лучше, верно?
 
Когда игрок зашёл на сервер, он Player. Пока он не выйдет, объект разумеется поменяться не может.
У Player-а есть uuid, и есть ник, они поменяться во время сессии не могут.
Сравнивать что ники, что uuid-ы, долго, нужнопочти O(N) от длины строки.
Сравнить две ссылки на объект Player -- примерно как сравнить два long-а. При этом не надо обращаться по этим адресам и этим выгружать какую-то потенциально нужную кэш-линию.

Так что player1 == player2 куда быстрее, чем
player1.getName().equals(player2.getName());
или
player1.getUniqueId().equals(player2.getUniqueId());

Только нужно аккуратно отслеживать вновь входящих и выходящих игроков, для них объекты Player меняются. И не забывать про игроков во время onEnable.
Так как же всё же сравнить двух игроков? == или equals? Всё же объекты
 
Назад
Верх