gpt4 book ai didi

.net - [垃圾收集] dotTrace Performance Profiler 是什么意思?

转载 作者:行者123 更新时间:2023-12-03 15:53:56 26 4
gpt4 key购买 nike



这张图片中的[垃圾收集]是什么意思?还有“20个电话”的事情?

我的意思是,我怎么能弄清楚为什么 GC 花了这么长时间?是不是收集了很多小 object ?一个大的?关于如何优化这个的任何提示?

有问题的代码是:

private void DeserializeFrom(SerializationInfo info)
{
Width = info.GetInt32("width");
Height = info.GetInt32("height");
var data = (List<byte>)info.GetValue("cells", typeof(List<byte>));
cells = new Cell[physicalSize.Width, physicalSize.Height];
int pos = 0;
for (int x = 0; x < physicalSize.Width; x++)
{
for (int y = 0; y < physicalSize.Height; y++)
{
cells[x, y] = new Cell();
if (x < Width && y < Height)
{
cells[x, y].HasCar = data[pos];
pos++;
}
}
}
}

没有什么太花哨的。我怀疑罪魁祸首是大 List<byte>对象,但我认为收集单个大对象应该是即时的(而不是收集一堆小对象)。

最佳答案

如果您想找出导致 GC 的原因,正在分配和收集哪些对象,您可以通过 dotMemory 来完成。这是一个解释如何优化内存流量的教程:https://confluence.jetbrains.com/display/NETCOM/Tutorial+3+-+How+to+Optimize+Memory+Traffic+with+dotMemory

关于.net - [垃圾收集] dotTrace Performance Profiler 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com