-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add pattern blame #398
add pattern blame #398
Conversation
Warning: 2 uncommitted changes |
Perfection, keep whoever makes the bad ones in charge of AE to get updoots 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolve regardless of action taken before merging
we have discovered a subtle problem with the implementation. if there were two different people encoded the same recipe (or a recipe with no encoder information), they will be treated as two different pattern, and AE won't load balance between the two. I have come up with a solution of preprocessing the item used for equality check in PatternHelper, but I'm not sure if this is worth it (as copying an NBT can be expensive) |
Why not change PatternHelper to check only input/output stack nbt matches instead of full copy? Preferrably cache equivalent patterns |
well AE2 has a shared NBT cache, so it'd actually be faster to compare full stack (which is just a == check between the two NBT tag) than to compare by indiviual inputs (which will need to iterate over every inputs and go into every subtag the inputs/outputs have) |
PatternHelper usages needs to be cleaned up anyways as its instantiated way too often so I think its fine the way you implemented it (with those patches) |
we will see how much of a performance impact this has |
so you know who was that idiot adding broken pattern
Closes GTNewHorizons/GT-New-Horizons-Modpack#14297