aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs
diff options
context:
space:
mode:
authorJames J Greensky2009-09-30 16:52:59 -0700
committerJohn Hurliman2009-09-30 17:53:32 -0700
commit8e3dd64282495e8f7b18efcb2a2e57218a3db6ad (patch)
tree2e0b59c34d8799ceaab089bc3b6c69cc6c8b82fa /OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-8e3dd64282495e8f7b18efcb2a2e57218a3db6ad.zip
opensim-SC_OLD-8e3dd64282495e8f7b18efcb2a2e57218a3db6ad.tar.gz
opensim-SC_OLD-8e3dd64282495e8f7b18efcb2a2e57218a3db6ad.tar.bz2
opensim-SC_OLD-8e3dd64282495e8f7b18efcb2a2e57218a3db6ad.tar.xz
Removed an innefficent List.Contains lookup from UpdateQueue
Changed the underlying data structure used to detected duplicate in OpenSim.Region.Framework.Scenes.Types.UpdateQueue from a List to a Dictionary.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs9
1 files changed, 4 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs b/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs
index 21cda09..213e954 100644
--- a/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs
+++ b/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs
@@ -38,7 +38,7 @@ namespace OpenSim.Region.Framework.Scenes.Types
38 { 38 {
39 private Queue<SceneObjectPart> m_queue; 39 private Queue<SceneObjectPart> m_queue;
40 40
41 private List<UUID> m_ids; 41 private Dictionary<UUID, bool> m_ids;
42 42
43 private object m_syncObject = new object(); 43 private object m_syncObject = new object();
44 44
@@ -50,7 +50,7 @@ namespace OpenSim.Region.Framework.Scenes.Types
50 public UpdateQueue() 50 public UpdateQueue()
51 { 51 {
52 m_queue = new Queue<SceneObjectPart>(); 52 m_queue = new Queue<SceneObjectPart>();
53 m_ids = new List<UUID>(); 53 m_ids = new Dictionary<UUID, bool>();
54 } 54 }
55 55
56 public void Clear() 56 public void Clear()
@@ -66,9 +66,8 @@ namespace OpenSim.Region.Framework.Scenes.Types
66 { 66 {
67 lock (m_syncObject) 67 lock (m_syncObject)
68 { 68 {
69 if (!m_ids.Contains(part.UUID)) 69 if (!m_ids.ContainsKey(part.UUID)) {
70 { 70 m_ids.Add(part.UUID, true);
71 m_ids.Add(part.UUID);
72 m_queue.Enqueue(part); 71 m_queue.Enqueue(part);
73 } 72 }
74 } 73 }