Speed up pattern query-ing methods
blinkinglight opened this issue ยท 10 comments
Issue description:
i have RS 16x64k disk drives filled with about 750k random items and storage drawers on external storage with about 12M items.
What happens:
when i open crafting terminal and type something i should wait about 5s till item counts updates.
but mine problem looks like that that count locks everything, becouse if i fast open crafting grid, close him and try eg. use dislocator to teleport and then i click tp i wait 5s to teleport and/or if i try acces chest after open/close crafting terminal, i also should wait 5s till chest opens.
if i remove all RS disk drives problem disapears. so looks like problem exists only with RF disk drives storage with many items and not with storage drawers with 10x more items.
Version (make sure you are on the latest version before reporting):
- Minecraft: 1.10.2
- Forge: 12.18.3.2281
- Refined Storage: 1.2.25
Does this issue occur on a server? [yes/no]
single player
Not sure if related, but here's another nps for you.
- It sends the itemstack to the client
- The serializer determines if there is a pattern for that item
- When trying to get the pattern, it uses a oredicted pattern list
@way2muchnoise Do you know why it uses a oredicted stack list to determine if there is a pattern for the item? And if we can remove it to use a normal stack list?
As a sidenote: it seems like the getPattern
methods can use a Multimap
to retrieve patterns instead of a slow for loop over every pattern.
mhz. also i am using "reborn storage" for auto crafting. but strange things happens then i disconnect cable from it
https://ufile.io/llhva and https://ufile.io/ib0cx
and lag still exists wihout reborn storage crafting https://ufile.io/s6in5
first two link depends on refined or i shout report it to reborn storage
This is mainly a technical post, you can ignore it @spx. The cause has been identified.
i understand. but check that two links. becouse then i disconnect reborn storage cable sky begins blinking and server stops respond to everything for about 30s (after that time disconnected cable appears on ground and just then i can pick it up)