Refined Storage

Refined Storage

77M Downloads

OreDict comparison eats server ticks

sandalle opened this issue ยท 0 comments

commented

Issue description:

When enabling OreDict (Compare ore dictionary = yes) in an Interface with items exporting (e.g. ores), the TPS on the server decreases substantially (1-2 TPS per Interface with OreDict comparison enabled) once there are no more items to export.

What happens:

For three Crafters with OreDict comparison enabled and exporting items (NBT and Damage are both set to default: yes), my server TPS drops from 20.00 to 13.5. Changing only this setting in the three Interfaces drops the TPS, then setting OreDict comparison to off allows my TPS to return to 20.00 within a few seconds.

I saw Ender IO did some work-around for a slow OreDict in SleepyTrousers/EnderIO-1.5-1.12@b33d3fe as well, if that helps.

What you expected to happen:

I would expect minimal impact to TPS.

Steps to reproduce:

  1. Setup Interface to export stacks of existing items using NBT (default), Damage (default), and OreDict into some other machine or storage.
  2. Wait for existing items to be depleted from Refined Storage's knowledge.
  3. TPS decreases. Note that this may not be noticeable with the first few stacks, but the more exported stacks you use, the worse the TPS is affected.

Version (Make sure you are on the latest version before reporting):

  • Minecraft: 1.10.2
  • Forge: 1.10.2-12.18.3.2239
  • Refined Storage: 1.2.22

Does this issue occur on a server? yes

If a (crash)log is relevant for this issue, link it here:

Sampler on server with three Interfaces with OreDict comparison enabled and all exported items missing (nothing left to export): TPS 13.5
refinedstorage-oredict.nps.zip

Interface with OreDict comparison enabled only on the one Interface for testing, but exported items are missing: TPS now drops to 17
interface-oredict-missingitems

Interface with OreDict comparison enabled enabled only on the one Interface for testing and exported items exist: TPS stays at 20
interface-oredict-existingitems