[1,12.2] Alloy Kiln performance issue when not working - only one input slot occupied.
ProsperCraft opened this issue ยท 8 comments
Description of the issue:
When you put anything in one input slot, the Kiln starts to tick very hard when it isn't doing any work at all. This continues until you remove the items from the Kiln.
Find attached samper nps file.
kilnoneinportslot.zip
Bad kiln straight ahead in red, empty kiln to the left.
Versions & Modlist
Mod list- https://minecraft.curseforge.com/projects/towncraft
ImmersiveEngineering-0.12-80.jar
I'm looking into the profiler snapshot and I'm not seeing any indication of major complications with the Alloy Kiln.
It's in fact, greatly eclipsed by other tile entities in that world.
Could you provide a more slimmed down snapshot with a detailed look at the smelter? Thank you.
I started a new pack with only the immersive suite of mods, and here are the results from a single player game. It is far less drastic but nonetheless if you have things in it, even if it isn't cooking, it ticks 24 times harder then the kiln next to it with nothing in it. Is it trying to auto output or something?
Why is it ticking when not doing work?
Kiln full not cooking-
Inventory-
NPS-
kilnsingleplayer.zip
Okay, performance drop seems to be caused by ItemStack init calling Capability events.
I believe Malte had mentioned this on a previous occasion, I don't quite know what his fix was for that, so I'm leaving this open to be fixed in IE build 82.
I don't have a fix for that besides trying to reduce item stack allocations. And probably talking to the guy who takes up so much time in initCapabilities, but I'll do that when I'm on my laptop and have the data to prove they're causing lag with their profiling mod.
Hmm.
Well we can at least look into making the Alloy Kiln not search for recipes when only one item is in there, that should cut down on impact a bit.
It's for makign alloys, it should never have a single-input recipe anyway.
If output= full then complete shutdown as well?
When you say the guy? who are we talking about @malte0811 ?
@aikar Is TimingHandler.stopTiming
supposed to take 4-5% of CPU time (About 4% in this snapshot, I think I saw 5.something% in another snapshot from the same server)? Most of the performance issues reported by @ProsperCraft boil down to ItemStack
initialization being a lot slower than usual, mostly due to the timings event handler. Is that a known issue/normal?
The profiling data in the screenshot below is from Player's sampler mod, viewed in VisualVM. The percentage in the total time column doesn't really matter, as it's relative to the sum of all total times, which is obviously much more than the total CPU time (about 45 seconds).
@malte0811 CPU sampling is inaccurate and commonly reports hot methods as higher than they are, because they are seen more than the other methods.
Timings benchmarks itself on report, and you can see the value in Config > system config "timingscost" in nanoseconds. usually it's around 100~, upwards to 400 on slower.