gpt4 book ai didi

c# - 非常大的类的性能

转载 作者:行者123 更新时间:2023-12-02 17:54:49 27 4
gpt4 key购买 nike

我有一个名为“模拟”的类和解决模拟问题的方法。

class sim
{
void Step()
{
}

other methods (20+)...
}

Sim 类在程序中仅实例化一次。

Step方法在程序中被调用数百万次。

Step 方法使用了大量局部变量(100+)。这些本地变量都没有在其他方法中使用。

是让这些局部变量成为类的成员还是在 Step() 中将它们保留为局部变量以获得更好的性能?

最佳答案

depends 。什么类型的变量:原始类型还是对象?如果是后者,您的 IL 代码仍然会追踪它们的指针。如果是前者,这取决于您访问它们的顺序以及您的 objective-c PU。优化变量的布局应该是性能调优事件列表中最靠后的部分,尤其是在 C# 中,当您依赖于 IL 被转换成的程序集时。

与优化一样:首先测量性能以识别瓶颈。然后考虑如何删除它们。在您知道需要做类似的事情之前,请尽可能清楚地编写代码:不要通过将局部变量提升到类级别来公开不必要的变量。并且一定要考虑拆分 Step() 方法:大型方法很难理解,因此更难优化。

关于c# - 非常大的类的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3307761/

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