← Back to team overview

mudlet-makers team mailing list archive

[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