mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
Improve yaml export performance
This commit is contained in:
parent
7b1c20c1f3
commit
f0c7ccb128
@ -85,8 +85,9 @@ public sealed class YamlSequenceNode : YamlNode
|
||||
base.Emit(emitter);
|
||||
|
||||
StartChildren(emitter);
|
||||
foreach (YamlNode child in Children)
|
||||
for (int i = 0; i < Children.Count; i++)
|
||||
{
|
||||
YamlNode child = Children[i];
|
||||
StartChild(emitter, child);
|
||||
child.Emit(emitter);
|
||||
EndChild(emitter, child);
|
||||
|
||||
@ -9,9 +9,9 @@ public abstract partial class YamlScalarNode
|
||||
private protected override void EmitCore(Emitter emitter)
|
||||
{
|
||||
Span<char> buffer = stackalloc char[ReverseHexString.GetHexStringLength<byte>()];
|
||||
foreach (bool value in list)
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
byte b = value ? (byte)1 : (byte)0;
|
||||
byte b = list[i] ? (byte)1 : (byte)0;
|
||||
ReverseHexString.WriteReverseHexString(b, buffer);
|
||||
emitter.Write(buffer);
|
||||
}
|
||||
|
||||
@ -9,9 +9,9 @@ public abstract partial class YamlScalarNode
|
||||
private protected override void EmitCore(Emitter emitter)
|
||||
{
|
||||
Span<char> buffer = stackalloc char[ReverseHexString.GetHexStringLength<ushort>()];
|
||||
foreach (char value in list)
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
ReverseHexString.WriteReverseHexString((ushort)value, buffer);
|
||||
ReverseHexString.WriteReverseHexString((ushort)list[i], buffer);
|
||||
emitter.Write(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,9 +10,9 @@ public abstract partial class YamlScalarNode
|
||||
private protected override void EmitCore(Emitter emitter)
|
||||
{
|
||||
Span<char> buffer = stackalloc char[ReverseHexString.GetHexStringLength<T>()];
|
||||
foreach (T value in list)
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
ReverseHexString.WriteReverseHexString(value, buffer);
|
||||
ReverseHexString.WriteReverseHexString(list[i], buffer);
|
||||
emitter.Write(buffer);
|
||||
}
|
||||
}
|
||||
@ -23,9 +23,9 @@ public abstract partial class YamlScalarNode
|
||||
{
|
||||
StringWriter sb = new();
|
||||
Span<char> buffer = stackalloc char[ReverseHexString.GetHexStringLength<T>()];
|
||||
foreach (T value in list)
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
ReverseHexString.WriteReverseHexString(value, buffer);
|
||||
ReverseHexString.WriteReverseHexString(list[i], buffer);
|
||||
sb.Write(buffer);
|
||||
}
|
||||
return sb.ToString();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user