【问题标题】:Which takes less execution time?哪个执行时间更少?
【发布时间】:2020-09-30 22:49:17
【问题描述】:

这将花费更少的执行时间;一个switch-case还是一个方程?

我想让页面越暗淡,就像弹出窗口一样,层叠的窗口越多。

所以如果我有 1 个子窗口;调光百分比可以是20%,2个子窗口; 40%; 4个子窗口; 50% .. 等等,所以随着窗口的层叠,它会变得不那么暗,最终会停在某个值上,例如 55%,所以它永远不会太暗。

它应该遵循的等式是:f(x) = 5x^4/8 - 65x^3/12 + 95x^2/8 + 155x/12

这应该给出如下值:

f(x) |  0  | 20 | 40 | 50 | 55 |
  x  |  0  |  1 |  2 |  3 |  4 |

x 的域 = [0,4]

鉴于; f(x) = 所需的调光量,x 是窗户的数量 级联

在执行时间方面这是一个更好的实现吗?还是开关盒更适合比较当前打开的窗户数量与所需的调光百分比?

我不知道每个 switch case 与上面提到的公式相比使用了多少条指令?

【问题讨论】:

  • 等式可能要快得多——但这真的不用担心,因为我非常怀疑这会成为 CPU 瓶颈

标签: javascript compilation cpu execution


【解决方案1】:

如果性能确实是个问题,请不要使用switch 或等式。使用数组。

function f(x) {
    const dim_pct = [0, 20, 40, 50, 55];
    return dim_pct[x];
}

【讨论】:

  • 谢谢,巴马尔。是的,我认为这是最有效的方法。也不受方程式的限制。
【解决方案2】:

查看在 JavaScript 中执行需要多长时间:

console.time('test');
/* run code here */
console.timeEnd('test');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多