From 65f2a82b9745548748aa1d68547aff7a2cac574a Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 15 Jul 2022 17:05:14 -0300 Subject: Optimize PlaceholderManager.UnreserveRange --- Ryujinx.Memory/WindowsShared/MappingTree.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Ryujinx.Memory/WindowsShared/MappingTree.cs') diff --git a/Ryujinx.Memory/WindowsShared/MappingTree.cs b/Ryujinx.Memory/WindowsShared/MappingTree.cs index 8f880f0c..7a18d457 100644 --- a/Ryujinx.Memory/WindowsShared/MappingTree.cs +++ b/Ryujinx.Memory/WindowsShared/MappingTree.cs @@ -9,6 +9,8 @@ namespace Ryujinx.Memory.WindowsShared /// Type of the value stored on the node class MappingTree : IntrusiveRedBlackTree> { + private const int ArrayGrowthSize = 16; + public int GetNodes(ulong start, ulong end, ref RangeNode[] overlaps, int overlapCount = 0) { RangeNode node = GetNode(new RangeNode(start, start + 1UL, default)); @@ -17,7 +19,7 @@ namespace Ryujinx.Memory.WindowsShared { if (overlaps.Length <= overlapCount) { - Array.Resize(ref overlaps, overlapCount + 1); + Array.Resize(ref overlaps, overlapCount + ArrayGrowthSize); } overlaps[overlapCount++] = node; -- cgit v1.2.3