mudlet-makers team mailing list archive
-
mudlet-makers team
-
Mailing list archive
-
Message #04127
[Bug 1500927] Re: Major slowdowns with setRoomArea/resetRoomArea
I'd like to take this one on.
Poking around in TArea shows that the current area's rooms ('rooms') is
currently implemented as a QList<int>. determineAreaExits uses a linear
search on 'rooms' to test if a particular room ID is in the current
area. This gets slow when the current area contains many rooms, as in
the submitter's case. I suggest we switch to a QSet<int> for 'rooms'.
This will allow much faster roomID lookups and will significantly speed
up determineAreaExits.
I'm also interested in working on tests for the code. This would give me
a smallish class (TArea) to get started with.
--
You received this bug notification because you are a member of Mudlet
Makers, which is subscribed to Mudlet.
https://bugs.launchpad.net/bugs/1500927
Title:
Major slowdowns with setRoomArea/resetRoomArea
Status in Mudlet:
Confirmed
Bug description:
I've previously posted a thread in regards to this:
http://forums.mudlet.org/viewtopic.php?f=13&t=4857
I am using 3.0-delta on Windows 10. This occurs across all operating
systems.
I've also attached a small video showing the effect of the slowdowns.
I'm making heavy use of the unassigned area, and moving rooms from the
unassigned area to the correct area on user entry. This is causing
problems in determineAreaExits: There are >20k rooms in my map at this
time.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mudlet/+bug/1500927/+subscriptions
References