gpt4 book ai didi

ruby - 有什么比 .include 更快的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:36 25 4
gpt4 key购买 nike

<分区>

我目前正在处理数组,我决定尝试通过使用 .include 替换和迭代搜索排序数组来加快我的一个函数?令我惊讶的是,程序的总运行时间从 2:12 缩短到 9:53。对此感到困惑,我去查看.include 的源代码?结果证明它只是用 C 编写的迭代检查

rb_ary_includes(VALUE ary, VALUE item)
{
long i;

for (i=0; i<RARRAY_LEN(ary); i++) {
if (rb_equal(RARRAY_AREF(ary, i), item)) {
return Qtrue;
}
}
return Qfalse;
}

有没有更快的方法来确定某个项目是否在排序数组中,也许是 gem ?还是需要用您自己的二进制搜索方法编写困难的方法来完成事情?

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