Lazy DataFixerUpper(LazyDFU) [FORGE]

Mods
14,064,566 Downloads Last Updated: Jun 13, 2022 Game Version: 1.19.2   +3

This is a Forge port of the fabric mod: LazyDFU by tuxed.

This is a port allowed by the permissions of the MIT License.

 

LazyDFU is an optimization mod that makes the initialization of DataFixerUpper "lazy" - that is, it will not immediately create the rules required to migrate data from older versions of Minecraft to newer versions until it actually needs to do so. It does not modify DFU and should be safe, but do exercise more than the usual caution.

The premise of LazyDFU is simple: most of the time, you will not need to convert data for every version of the game. As a result, DFU rule compilation occurs later, when the game is already up and running. This means it is possible you may see lag spikes if LazyDFU forces the game to compile migration rules, but once complete there is no performance penalty.

Prove it to me

I recorded a video that shows you how effective LazyDFU is.

Comparing it to other mods

Cadmium

LazyDFU is complementary to Cadmium. While Cadmium tackles the root source of the problem (rule optimization being slow), it only partially improves the situation. LazyDFU will still be highly effective by deferring the initial compilation of DFU rules until needed, so the game will start up much more quickly.

Smooth Boot

LazyDFU takes a similar implementation approach to Smooth Boot: both mods do not try to modify DFU. However, LazyDFU is superior to Smooth Boot as it does not compile DFU rules at all, which is the most expensive part of the game startup process.

In comparison, Smooth Boot will instead limit the number of threads that compile DFU rules and run them at a lower priority.

Any mods that remove DFU

Mods that remove DFU are fundamentally unsafe. If you load an older world with one of them then it will corrupt that world. Some have safeguards, but even then this is not a guarantee that you won't have issues.

In comparison, with LazyDFU you may experience a nasty lag spike instead, which is vastly superior to having a completely hosed world. So prefer LazyDFU over DataBreaker :)