我想知道,就性能和内存使用而言,哪种方式更好?
仅传递特定函数所需的参数,还是传递具有 30 个属性的对象但函数将使用其中 3 个?
我想知道,就性能和内存使用而言,哪种方式更好?
仅传递特定函数所需的参数,还是传递具有 30 个属性的对象但函数将使用其中 3 个?
当您调用任何非内联方法时,您作为参数传递的变量实际上将被物理复制到被调用方法中的形参槽内存中。这会导致堆栈内存操作并导致性能下降。最小化参数会更快。
这完全取决于您是通过值还是引用传递它。典型的参数(int、float、double、bool)都是按值传递的。意味着它们被复制。如果您传递对象,它只会将指向对象(引用)的指针“发送”到 4 或 8 个字节长的函数。
如果你有那么多参数,传递对象会更有效。
如果是本地操作传递对象更好,因为它仅供参考。但是如果你想通过网络传递对象,那么你的对象将被整个序列化并且会很大
这可能取决于许多因素...
一般来说,最小化方法参数是“一件好事”,但可能会施加依赖关系,因此更多的是关于您的数据结构和代码。
还要记住,通常性能是最不重要的代码指标之一,因此要避免过早的优化,更多地关注代码的含义、可读性和可维护性。如果您有性能问题,我怀疑这将成为瓶颈。