DenizenScript/Denizen

ItemTags create lagspike

BloodEko opened this issue · 1 comments

spigot version: 1.15.2
denizen version: build 5876-DEV
profiler: https://spark.lucko.me/fVlhnlWhR1
code: https://github.com/DenizenScript/Denizen/blob/dev/plugin/src/main/java/com/denizenscript/denizen/objects/ItemTag.java#L445

//timings
PctTotal  PctTick  Total   Avg        PerTick   Count     Event
0.68%     156.99   0.08 s  78.50 ms   0.0       0.0k      ItemSpawnsScriptEvent::onItemSpawns(ItemSpawnEvent)
//script
MyLagScript:
  type: world
  events:
    on item spawns:
    - define x <context.item>

Hi!
ItemTags create a massive lagspike, when a large item like a book is filled.
Basically making all ItemTags unusable, or brings a major risk for an attacker.
It seems to be a problem in the engine, to stringify the item on each use.

To reproduce an empty server with the above script can be used.
Fixing this in favour of all denizen users would be appreciated.

Support is on Discord @ https://discord.gg/Q6pZGSR