For a while now I've had to wait upwards of 35 seconds for my equipment inventory tab to load in the relay browser, where it usually takes 7-10 seconds at most (OK, I've got a fairly messy inventory, but still). I finally got curious and started downloading older builds until I found where exactly the big performance hit occurred.
Turns out it is with the change that introduced the "New Area Unlocked" links. To verify, I updated my local repository and commented out "RequestEditorKit.addNewLocationLinks( buffer );", and was immediately back to the old (still slow, but acceptable) performance. I haven't done much digging, but if it does all that pattern matching on a page as big as my inventory (~800kb HTML), I can certainly understand why it's taking much longer than usual.
As nice as those links are, I find it hard to justify the performance hit. Maybe it could be called on a smaller set of pages? And then hope nothing used from inventory unlocks a new zone with the area unlocked message, I guess. Or maybe the regex just needs to be optimized a bit, for instance by having a simpler one to detect the presence of the unlock box, and only then parse with the complex regex that does the additional group capturing.
Turns out it is with the change that introduced the "New Area Unlocked" links. To verify, I updated my local repository and commented out "RequestEditorKit.addNewLocationLinks( buffer );", and was immediately back to the old (still slow, but acceptable) performance. I haven't done much digging, but if it does all that pattern matching on a page as big as my inventory (~800kb HTML), I can certainly understand why it's taking much longer than usual.
As nice as those links are, I find it hard to justify the performance hit. Maybe it could be called on a smaller set of pages? And then hope nothing used from inventory unlocks a new zone with the area unlocked message, I guess. Or maybe the regex just needs to be optimized a bit, for instance by having a simpler one to detect the presence of the unlock box, and only then parse with the complex regex that does the additional group capturing.