Actually Additions

Actually Additions

66M Downloads

Item Laser Relays cause performance drops in some situations

utoc opened this issue ยท 19 comments

commented

This one may be an end-user issue. We had a little lag tonight and did a sampler profile to determine the cause after a restart failed to fix the issue. It appears that the itemRelay call was the issue and one user online broke his relays and the issue was abated. He believes he had inadvertently made loops with his relay but even one loop didn't seem to cause the issue.

Is it possible, when a user is linking, to confirm that a loop is not present when linking relays? Are there other issues present.

Stuff for you:
http://bbqsauce.terron.com/ellpeck/lag1.nps (before reboot, issue at its peak but the server had been up for 8 hours)
http://bbqsauce.terron.com/ellpeck/lag2.nps (after reboot, issue immediately present)
http://bbqsauce.terron.com/ellpeck/lag3.nps (after relay broken, a pseudo-baseline)
http://bbqsauce.terron.com/ellpeck/actuallyadditionsdata0.dat
(this is a remade item relay network, the loops aren't near as significant as you saw in lag2.nps)

Running AA r65 with FML 2095

commented

I guess you mean that the user placed a chest with a hopper below, then an Item Interface next to the hopper and an Item Laser Relay above it, directly adjacent to the input chest?
If so: Yes, that is an end user error, and no, that cannot be fixed. It shouldn't really cause lag though, either. Usually.
Also I have no idea how to open .nps files.

commented

I've messaged the user in question and asked him to respond to this to give you an idea of what he did to cause said loops. Also, VisualVM is great for NPS files (java profiling :V )

commented

There's two loops I did: One was basically importing and exporting the same items from a storage network network.
Export to Storage drawers > Have an ESD take the items and put them in an item interface > Relay network to Multifarm > Have a relay to Item Interface > ESD > import chest > Storage netwrok which ended up looping. (Items were dirt/seeds/fertilizer, since I wanted to keep any excess in the network but it didn't work as planned.)

Other loop: Similar, just replace the storage network with a single 2x2 storage drawer with same items. Just replace the storage network import/export with it.

commented

It should be noted tonight that his export loop of fertilizer/dirt/seeds was not in operation during the past 24 hours and the lag reappeared tonight.

The current state of the network is Relay 0 (ESD Accepts dirt, seeds, exports dirt seeds, melon, punkin @ Forestey farm) <-> Relay 1 <-> Relay 2 (ESD accepts pumpkin/melons) <-> Relay 3 <-> Relay 4 (accepts all)

commented

Ok, all loops and potential loops are removed at this point so that the configuration allows pumpkin and melons to be dropped off at relay 2 and all other items are imported at relay 4. this setup causes lag.

You can find the data file here: http://bbqsauce.terron.com/ellpeck/actuallyadditionsdata0-focheesy.dat
And the sampler NPS here: http://bbqsauce.terron.com/ellpeck/lag6.nps

commented

What's the setup? Just make a screenshot, I can't extract any "setup" from the data file or your weird explanation :'D

commented

Here's screenshots: http://imgur.com/a/qu0fM

commented

So, does this cause any lag or not..?

commented

From what @utoc has said yes. At least TPS lag. What the first set was doing, was taking dirt and seeds out of the output and putting them back in the input. That's believed to be the problematic area.

commented

I don't understand why that would be causing tps lag though.

commented

To be honest, I don't really know what to do about this. How bad is it anyways, @utoc?

commented

I don't really know what to do about this, to be honest.

commented

Currently offshore so apologies for not being active on this issue.
This relay setup carrys us from 20TPS to 15-16TPS. Its removal brings
us almost immediately back to 20TPS.

On 10/16/16, Ellpeck [email protected] wrote:

To be honest, I don't really know what to do about this. How bad is it
anyways, @utoc?

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#279 (comment)

commented

Ellpeck, Tonight in the next few days I will try to make a SSP world that replicates this issue so you can have something to test against; it may be a couple of days.

commented

What about this issue?

commented

http://bbqsauce.terron.com/ellpeck/relays-are-cancer.zip

See the download above; with one item per second going into the item conduit (SW Corner) and 5 relays onto a single relay network (meant to represent the distance traversed in the servers' lag case we're getting about 15-17ms tick time vs 6ms when no relays are present. I'm not sure why the server case puts us over the edge; it may have to do with crossing chunk boundaries etc but this is a logical representation of what he's doing above.

Items leave A, link through B (distance closing relay) to C. At C, the items are processed and any overflow items continue onto D (distance closeing relay) and make their way to E.

commented

Ok, I've grossly oversimplified the issue with this world:

http://bbqsauce.terron.com/ellpeck/relays-are-cancer-simplified.zip

The premise seems to be this: Relay networks suck when they have distance to close and conduits from other mods are much more efficient tickwise. Please check this one out. Load it with BBQ pack but it really only needs EnderIO, AA and Storage Drawers

commented

Will test this as soon as I'm back home.
Weird thing is, even with big item laser networks, I've encountered no problems.

commented

Thanks bro. Do you plan on releasing any time soon?