|
|
1
1
通常,调用一个函数会导致内存跳跃,这对于性能来说比按顺序运行要昂贵得多。当只调用这两次时,这不是一个大问题,即使有许多级别的链接。但如果在大型循环中调用它,则可能会出现明显的性能问题。
注:
这样你只有一个额外的步骤。
注:
|
|
|
2
1
在像C/C++这样的语言中,编译器可以以根本不存在性能损失的方式处理这些事情。在类似matlab的语言中,每个函数调用都有一个值得注意的时间。 如果这样的时间很重要,那么它很大程度上取决于调用方法的频率。如果它们做了一些需要大量计算的事情,或者如果它们被用于初始化,那么它们的调用可能不会太频繁。在这些情况下,我不担心这个。如果经常打电话给他们,我建议在做决定之前先衡量一下。 |
|
|
3
0
[注:我假设您在问问题时谈论的是现代编程语言(因为它没有明确的语言标记)。如果这不是真的,请放弃这个答案。] 首先,这种链接的目的是 不 和 不应该 减少LOC。在性能方面,代码行是最不重要的,在某种程度上,甚至在可读性方面,尤其是在现代的IDES时代。(备案:“在某种程度上”。我不认为2500行的方法是好的) 这样做的目的是为了避免逻辑的重复和程序员的方便,否则这将是维护的噩梦。(如果您要在所有方法中都有逻辑)以及最终程序员的一些困难(如果您只需要一个实现) 在现代编程语言中,额外的两个方法类引起的开销是可以忽略的。这种优化(减少方法调用的数量)通常不会导致任何结果。 性能取决于方法正在做什么,如果有任何性能问题,应该集中精力。 我看不到任何问题,包括性能,实际上也看不到您在问题中提到的那种方法链接的好处。 |
|
|
4
0
在C语言中,当没有提供额外的参数时,这些参数总是默认值。 为此,我用定义…也许不是很漂亮,但是它可以工作,并且在最终的二进制文件中不会有任何性能影响(没有额外的堆栈空间,或者在程序计数器周围跳跃时间)。 |
|
5
0
可能这有 更糟的 性能,但增加了更多的灵活性,并避免了用户混淆参数。如果你做一些类似的事情,你可以有类似于C++中的默认参数。
也许这在这里是多余的,但作为更多的论据,这是更好的解决办法。注意,如果某些参数是强制的,您可以将它们放入构造函数中。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |