gpt4 book ai didi

javascript - 在 JS 中创建快捷方式会降低性能吗

转载 作者:行者123 更新时间:2023-11-29 09:52:06 25 4
gpt4 key购买 nike

我所说的快捷方式是指像这样的表达式:var do = some.thing.do

例如我有这个带快捷方式的代码:

MyModule3 = {
doSmth3 : function() {
var doSmth1 = MyModule1.doings.doSmth1,
doSmth2 = MyModule2.doings.doSmth2;

doSmth1();
doSmth2();
}
}

这个没有捷径:

MyModule3 = {
doSmth3 : function() {
MyModule1.doings.doSmth1();
MyModule2.doings.doSmth2();
}
}

第一个代码会比第二个慢吗?我想答案是“是的,第一个比较慢,但没有理由担心,因为性能差异不会很大”。

但是如果我有数百个带快捷键的函数怎么办?这种差异会在某个时刻变得至关重要吗?

=======

我尝试测试它,但我得到了奇怪的结果。

当我运行时:

testWithShortcuts();
testWithoutShortcuts();

然后第一个测试比第二个运行得更快。但是如果我以相反的顺序运行它:

testWithoutShortcuts();  
testWithShortcuts();

然后再次第一个测试运行得更快。

我不熟悉性能测试。也许我的测试实际上没有做它应该做的事情。

最佳答案

长话短说

没有。

真实答案

是的但是,可测量的差异是如此之小,以至于在 99% 的时间里这种担忧是没有意义的。

讨论

要明确这一点,最好针对可维护性、可理解性和清晰性进行优化,然后再担心内存中的一些额外指针。事实上,一旦编译为机器代码,它们就是相同的指针,它只会影响 JIT 步骤,如今以毫秒为单位进行测量。

最好为可读性编写代码,并且只有当应用程序开始变慢时才运行一些分析来找到慢的部分并优化该部分。慢速问题很可能与您创建的额外别名完全不同。

关于javascript - 在 JS 中创建快捷方式会降低性能吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28077137/

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