diff options
author | gdk <gab.dark.100@gmail.com> | 2022-07-15 17:05:14 -0300 |
---|---|---|
committer | Mary-nyan <thog@protonmail.com> | 2022-09-10 16:23:49 +0200 |
commit | 65f2a82b9745548748aa1d68547aff7a2cac574a (patch) | |
tree | 0c6076624f005b7658b151f85fcaf046d0cfdb74 /Ryujinx.Memory/WindowsShared/MappingTree.cs | |
parent | 93dd6d525a8c4072ba704e0bb126a980ef4b479a (diff) |
Optimize PlaceholderManager.UnreserveRange
Diffstat (limited to 'Ryujinx.Memory/WindowsShared/MappingTree.cs')
-rw-r--r-- | Ryujinx.Memory/WindowsShared/MappingTree.cs | 4 |
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; |