gpt4 book ai didi

ruby - 在 Ruby 中是否有性能原因更喜欢大小而不是长度或计数?

转载 作者:数据小太阳 更新时间:2023-10-29 07:51:37 25 4
gpt4 key购买 nike

Airbnb's Ruby Style Guide一个建议是:

Prefer size over either length or count for performance reasons.

这些性能原因是什么?

最佳答案

好像有点不对,对于大多数常用的情况(Array, Hash, String),sizelength 要么是别名,要么是以相同的方式实现的(你可以阅读更多 here 或检查每个方法的实现)并且将在 O(1).

计数 但是:

  • 对于 Hash 没有重新定义,将回退到 Enumerable#count ,这意味着它的复杂度将是 O(n),因为将遍历所有键值。
  • 对于 Array 它被重新定义 ( Array#count ) 并且至少它会检查给定的参数数量,这既不是 Array#size 也不是。也不Array#length必须做。
  • 对于String,它用于计算子字符串。

总而言之,我会说

Prefer size or length over count for performance reasons.

会更准确。

关于ruby - 在 Ruby 中是否有性能原因更喜欢大小而不是长度或计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53480273/

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