Integrated Tunnels

Integrated Tunnels

53M Downloads

Item importer/exporter lag

Naosyth opened this issue ยท 8 comments

commented

Issue type:

  • ๐ŸŒ Performance issue

Short description:

Item importers and exporters are very laggy after the recent update.

image

The exporter in the screenshot above was just exporting redstone dust to a thermal expansion auto crafter. I tested this on a smaller network in a new world, the lag was not nearly as bad, but I was seeing 8-10 ms/t just exporting cobble to a cache.

Steps to reproduce the problem:

  1. Export items from a network or import items in to a network
  2. The effect is more noticeable on larger more complex networks

Versions:

  • CyclopsCore: 1.12.2-1.4.0
  • CommonCapabilities: 1.12.2-2.4.2
  • IntegratedDynamics: 1.12.2-1.0.15
  • IntegratedTunnels: 1.12.2-1.6.10
  • IntegratedCrafting: 1.12.2-1.0.8
  • IntegratedTerminals: 1.12.2-1.0.9
  • Minecraft: 1.12.2
  • Forge: 14.23.5.2837

Profiler output:

profiler.zip

commented

@rubensworks Cool, thanks for fixing this so quickly! I've been using a custom pack heavily focused on using ID for all automation, it's been a lot of fun.

I have been primarily trying to let ID do all the item management. The only case where that wasn't possible was when I tried to expose the whole network's contents to an RFTools inventory scanner, so I could have wireless access to my items with the RFTools storage tablet.

commented

Thanks for reporting!

commented

Ok, so this was actually caused by the change for #167. Will be fixed soon.

commented

@Naosyth Performance should be restored in the next update. But should you notice any more performance issues, do not hesitate to report them! :-)

I do have to note though that interacting with other mods via interfaces (like extracting items with TD from an item interface) will inherently be slower than just letting IT do the exporting. This is because typical item transfer happens slot-by-slot, which causes problems when there are many slots. This is why IT indexes storages and exports/imports through more efficient pattern matching techniques. But in any case, further performance improvements may still be possible.

commented

When I tried it, which was probably around a month ago, it showed the items in the network, but would give me the wrong items when I tried to extract them. When I tried it more recently it pretty much just froze the server. Not sure if that's on RFTools or ID, but I'd be glad to test it again.

commented

The only case where that wasn't possible was when I tried to expose the whole network's contents to an RFTools inventory scanner

This actually should be possible by attaching the inv scanner to an IT item interface (not necessarily very efficient), unless RFTools is doing some special things there.

commented

I just tested it again, using both an RFTools storage scanner and a Thermal Logistics terminal. Both of them returned the correct items, but they also both lowered the server to < 1 TPS. I tried recreating the issue in a new world, however, and haven't been able to create a significant amount of lag, which means there must be something else wrong with my main network to create so much lag... not sure what. I'll update this issue if I figure anything out

commented

Sounds good! Will probably have something to do with the item storages that are attached to your network.