From 19e8a74d2b2d0cc996ba429dd1070a21351cf3f6 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sat, 20 Mar 2021 21:21:05 +0100 Subject: [PATCH] use default initial capacity when creating event coroutine collection --- Coroutine/CoroutineHandlerInstance.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Coroutine/CoroutineHandlerInstance.cs b/Coroutine/CoroutineHandlerInstance.cs index 438f328..255d983 100644 --- a/Coroutine/CoroutineHandlerInstance.cs +++ b/Coroutine/CoroutineHandlerInstance.cs @@ -96,7 +96,7 @@ namespace Coroutine { /// The event to raise public void RaiseEvent(Event evt) { this.MoveOutstandingCoroutines(); - var coroutines = this.GetEventCoroutines(evt, 0); + var coroutines = this.GetEventCoroutines(evt, false); if (coroutines != null) { for (var i = 0; i < coroutines.Count; i++) { var c = coroutines[i]; @@ -123,20 +123,20 @@ namespace Coroutine { private void MoveOutstandingCoroutines() { // RemoveWhere is twice as fast as iterating and then clearing this.eventCoroutinesToRemove.RemoveWhere(c => { - this.GetEventCoroutines(c.Event, 0).Remove(c); + this.GetEventCoroutines(c.Event, false).Remove(c); return true; }); this.outstandingCoroutines.RemoveWhere(c => { - var list = c.IsWaitingForEvent ? this.GetEventCoroutines(c.Event, 1) : this.tickingCoroutines; + var list = c.IsWaitingForEvent ? this.GetEventCoroutines(c.Event, true) : this.tickingCoroutines; var position = list.BinarySearch(c); list.Insert(position < 0 ? ~position : position, c); return true; }); } - private List GetEventCoroutines(Event evt, int capacity) { - if (!this.eventCoroutines.TryGetValue(evt, out var ret) && capacity > 0) { - ret = new List(capacity); + private List GetEventCoroutines(Event evt, bool create) { + if (!this.eventCoroutines.TryGetValue(evt, out var ret) && create) { + ret = new List(); this.eventCoroutines.Add(evt, ret); } return ret;