嵌套函数或方法调用会降低应用程序的性能

本文关键字:应用程序 性能 函数 方法 调用 嵌套 | 更新日期: 2023-09-27 18:36:57

我正在使用 asp.net 和C#开发应用程序,其中我们的项目架构有很多嵌套函数调用。

public Employe GetEmployeOrder(orderid, employe){
      GetEmployeOrderWithDetails(orderid, employe.ShippingId,BillingId);
 }
public Employe GetEmployeOrderWithDetails(guid orderid,guid ShippingId,guid BillingId)
{
  //  Another function call
}

你可能已经知道我在说什么场景。如果我有这样的嵌套调用,那么它会影响我的应用程序的性能吗?

嵌套函数或方法调用会降低应用程序的性能

在 Java 中

几乎没有直接影响。 内联 35 到 325 字节字节代码的简单方法,因此它们不会影响性能。35 字节的小方法几乎立即内联,默认情况下"经常"称为最多 325 字节的方法(可以增加)。

你遇到问题的地方是更多的代码更难推理。 更难推理的代码,开发人员很难优化(在某些情况下还有JIT),例如,假设您计算了一个昂贵的参数,嵌套,嵌套,嵌套的调用者丢弃了该参数。 另一个常见的性能问题是转换,例如,字符串被解析为双精度,然后转换为字符串,转换为 BigDecimal ,最后再次转换为字符串。 如果你没有多层嵌套,那么更明显的是,以字符串开头的内容可以保持字符串。

通常情况下,如果有疑问,假设最简单、最清晰的代码是最好的。

简单 - 是

你应该保持你的代码尽可能直截了当,每个嵌套的函数调用都在程序内存堆栈上创建负载 - 处理器正在记住在哪里跳回,以及带回什么,也没有完成的函数被记住在堆栈上。

更简单? - 一遍又一遍的循环可能会导致有趣的事情,但仍然只有不到 20 个级别或重复几乎是看不见的。