feat: 优化Common函数以提高性能

This commit is contained in:
2025-07-31 15:42:41 +08:00
parent 8c404d4072
commit bafd06162c
7 changed files with 344 additions and 228 deletions

View File

@@ -65,7 +65,7 @@ public class Number
{
for (var i = 0; i < length; i++)
{
arr[length - 1 - i] = Convert.ToByte((num >> (i << 3)) & (0xFF));
arr[i] = Convert.ToByte((num >> (i << 3)) & (0xFF));
}
}
else
@@ -99,20 +99,11 @@ public class Number
try
{
if (isLowNumHigh)
if (!isLowNumHigh)
{
for (var i = 0; i < len; i++)
{
num += Convert.ToUInt64((UInt64)bytes[len - 1 - i] << (i << 3));
}
}
else
{
for (var i = 0; i < len; i++)
{
num += Convert.ToUInt64((UInt64)bytes[i] << ((int)(len - 1 - i) << 3));
}
Array.Reverse(bytes);
}
num = BitConverter.ToUInt64(bytes, 0);
return num;
}
@@ -143,20 +134,11 @@ public class Number
try
{
if (isLowNumHigh)
if (!isLowNumHigh)
{
for (var i = 0; i < len; i++)
{
num += Convert.ToUInt32((UInt32)bytes[len - 1 - i] << (i << 3));
}
}
else
{
for (var i = 0; i < len; i++)
{
num += Convert.ToUInt32((UInt32)bytes[i] << ((int)(len - 1 - i) << 3));
}
Array.Reverse(bytes);
}
num = BitConverter.ToUInt32(bytes, 0);
return num;
}
@@ -333,10 +315,9 @@ public class Number
for (int i = 0; i < srcBytesLen; i += distance)
{
var end = i + distance;
buffer = srcBytes[i..end];
Buffer.BlockCopy(srcBytes, i, buffer, 0, distance);
Array.Reverse(buffer);
Array.Copy(buffer, 0, dstBytes, i, distance);
Buffer.BlockCopy(buffer, 0, dstBytes, i, distance);
}
return dstBytes;

View File

@@ -413,6 +413,7 @@ public class DebuggerController : ControllerBase
}
var channelBytes = new byte[4 * depth];
Buffer.BlockCopy(channelUintArr, 0, channelBytes, 0, channelBytes.Length);
channelBytes = Common.Number.ReverseBytes(channelBytes, 4).Value;
logger.Debug($"{channel.name} HexData: {BitConverter.ToString(channelBytes)}");
var base64 = Convert.ToBase64String(channelBytes);
channelDataList.Add(new ChannelCaptureData { name = channel.name, data = base64 });