![]() |
1
10
Array#sort
是用C实现的,请参见
它还有一些检查来比较Fixnums,所以对整数数组进行排序甚至不需要方法查找。 |
![]() |
2
7
ruby默认实现中的所有核心类和方法都是用C实现的。 |
![]() |
3
2
它之所以快得多,可能是因为它是在C中的ruby实现中实现的。 |
![]() |
4
2
我认为这里真正的问题是你在做10万次比较,10万次数组获取,10万次很多事情,而一个经过适当优化的排序例程所做的操作要少得多,因为它处理的是一组固定的100万个项目。 诸如sort之类的基本操作在Ruby虚拟机中得到了高度优化,用纯Ruby替代品很难打败它。 |
![]() |
5
2
跳入C是完全正确的。为了提高性能,Array和Hash都有许多方法的C实现。整数和浮点文本也有一些棘手的代码优化。当您将它们转换为位图时,您也会失去这种优化。 对于C或Java这样的编译语言,寻找复杂的优化模式是非常有意义的。对于解释型语言,解释每个命令的成本会适得其反。 |
![]() |
Stilian · 存储库设置中没有Github页面部分 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |