aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Memory/WindowsShared/MappingTree.cs
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2022-07-15 17:05:14 -0300
committerMary-nyan <thog@protonmail.com>2022-09-10 16:23:49 +0200
commit65f2a82b9745548748aa1d68547aff7a2cac574a (patch)
tree0c6076624f005b7658b151f85fcaf046d0cfdb74 /Ryujinx.Memory/WindowsShared/MappingTree.cs
parent93dd6d525a8c4072ba704e0bb126a980ef4b479a (diff)
Optimize PlaceholderManager.UnreserveRange
Diffstat (limited to 'Ryujinx.Memory/WindowsShared/MappingTree.cs')
-rw-r--r--Ryujinx.Memory/WindowsShared/MappingTree.cs4
1 files changed, 3 insertions, 1 deletions
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
/// <typeparam name="T">Type of the value stored on the node</typeparam>
class MappingTree<T> : IntrusiveRedBlackTree<RangeNode<T>>
{
+ private const int ArrayGrowthSize = 16;
+
public int GetNodes(ulong start, ulong end, ref RangeNode<T>[] overlaps, int overlapCount = 0)
{
RangeNode<T> node = GetNode(new RangeNode<T>(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;