Optimize Dynamic#get Missing Keys

get was calling toString() on every NBT object that was ever asked for an optional
key from the object to build a string for the error text.

When done on large NBT objects, this was using a ton of computation time building the
JSON representation of the NBT object.

Now we will just skip the value when 99.9999% of the time the text is never even printed.
This commit is contained in:
Aikar
2020-12-21 11:03:36 -05:00
parent 49458cc927
commit 319895bd9d
2 changed files with 35 additions and 0 deletions

View File

@ -108,6 +108,7 @@ importLibrary com.mojang authlib com/mojang/authlib yggdrasil/YggdrasilGameProfi
importLibrary com.mojang datafixerupper com/mojang/datafixers DataFixerBuilder.java
importLibrary com.mojang datafixerupper com/mojang/datafixers/util Either.java
importLibrary com.mojang datafixerupper com/mojang/serialization/codecs KeyDispatchCodec.java
importLibrary com.mojang datafixerupper com/mojang/serialization Dynamic.java
########################################################
########################################################