mojira.dev
MC-198787

Inefficient streams in GoalSelector

The goal selector since 1.13 switched to expensive stream and lambda constructs which waste a lot of AI performance every tick.

We reverted our mod goal selector back to the original goal selector with for loops ( + some cleanup) to preserve this performance. (Link: https://github.com/ldtteam/minecolonies/blob/d1ebb34de4124bbba9f535c9e3b81b79639b89fd/src/api/java/com/minecolonies/api/entity/CustomGoalSelector.java)
A huge chunk of the vanilla entity performance sinks here atm.

Streams should not be used in performance critical places where the collection has only very few values (most entities have a very limited amount of goals).

Linked issues

Comments 2

This issue is invalid. Your game is modified.

The reporter is describing a performance issue in vanilla. While the report does reference mods, it is simply illustrating an approach to fixing the issue by pointing to a mod that fixes it.

Ray Neiheiser

Timur Nazarov

Plausible

Performance

1.16.2, 21w03a, 21w05b, 21w08b, 21w19a, 1.18

23w51a

Retrieved