【问题标题】:Memory and CPU efficiency in If statementsIf 语句中的内存和 CPU 效率
【发布时间】:2020-04-08 16:15:02
【问题描述】:

我正在与一些同事讨论 If 语句的效率,以及在这个阶段,在内存和 CPU 使用成本方面哪个是最好的,这与使用的语言无关。

两个条件如下:

If value is present then
  skip

If value = "1234" then
  execute

因此,第一个控制值是否为空,在这种情况下退出(跳过)例程,第二个语句将变量与特定值进行比较。 我的想法是第一个使用更多的CPU,第二个使用更多的Ram,你怎么看?

我是否必须同时使用两者,以便在值为 null 时跳过第二个语句?还是只使用比较两个值的第二个更好? 谢谢

【问题讨论】:

    标签: if-statement conditional-statements


    【解决方案1】:

    你能详细说明为什么第二个使用更多的内存吗? “1234”将仅作为 const 值放入内存一次。进行比较的代码也只编译和生成一次。事实上,第二个 If 通过比较字符串可能会消耗更多的 CPU,但我认为您对此无能为力。所以不太确定你是如何得出结论的。我错过了什么吗?

    【讨论】:

    • 嗯,1234 只是一个例子,语句在一天中执行了数百万次,“值”总是不同的,“1234”可以是 4 个或更多值来比较。我在想如果只留下第二个,或者也添加第一个语句,所以如果“值”为空,第二个将被跳过。那么问题来了,“比较是否为空”和“比较两个数字”哪个更好?
    • 所以基本上你想要if value != null && value == "1234" {...} 。但这与内存消耗无关。
    猜你喜欢
    • 2011-02-02
    • 2012-05-14
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    相关资源
    最近更新 更多