Mojira Archive
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).

Fixed

Ray Neiheiser

[Mojang] Timur Nazarov

2020-08-23, 10:32 PM

2023-12-15, 10:04 AM

2023-12-15, 10:04 AM

7

3

Plausible

Performance

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

23w51a