一次性使用功能

时间:2018-07-06 09:28:47

标签: performance code-formatting

在任何一种语言中,如果只打算使用几次,那么使用在主函数上写一些时间的函数会更好吗?我听说在Python中这样做会使功能更快。 Java语言或其他任何语言都适用吗?

示例:

function main(){
    blahblahblahblah1();
    blahblahblahblah2();
    blahblahblahblah3();

    blahblahblahblah1();
    blahblahblahblah2();
    blahblahblahblah3();
}
setInterval(main,1);

最好将代码分组(blahblahblah),使其看起来像这样:

function blahblahblah(){
    blahblahblah1();
    blahblahblah2();
    blahblahblah3();
}
function main(){
    blahblahblah();
}
setInterval(main,1);

2 个答案:

答案 0 :(得分:3)

此决定对性能的影响很小,无法用我知道的任何语言来衡量-解释器/编译器对此进行了优化。唯一可能重要的情况是,如果您是为诸如嵌入式系统之类的极为受限的设备编写软件(但您不会使用Python或Javascript编写代码),或者是您编写了对性能要求极高的软件(如图形引擎)视频游戏(但同样,您将不会使用Python或Javascript)。

我建议您针对可读性,可测试性和抗错误性进行优化,而不是针对性能进行优化。您的第二个示例与第一个示例不同(它仅执行一次功能,第一个示例执行两次)。假设您打算使它们等效,那么第二个示例更具可读性,因为执行这三个功能的逻辑被抽象为更高级别的功能。

答案 1 :(得分:1)

如果在代码中仅使用一次逻辑,则不应创建函数-编译器/解释器仍将优化代码。如果您打算重用逻辑,然后创建一个函数-它使代码更小巧,更好地为您维护-甚至对于额外的函数查找和调用,它的运行速度最小,这些都是对性能的影响最小的...