'ent_next' musst Du ja nicht jedes Frame aufrufen.
Und wenn die Menge der Entities zu groß ist, machst halt nur einmal so einen Aufruf, um die Handles der Gegner in einer Liste zu speichern, um dann regelmäßig die Liste der Handles durchzugehen und zu überprüfen, welcher der Gegner zur Zeit am nächsten ist.
Und wenn Du tausende von Gegnern hättest, dann machst du halt eine Liste, in die Du immer mal wieder die Gegner aufnimmst, die in einem bestimmten Umkreis sind.