我有iterative search algorithm on gist - (or see the full github repo here) - 经过几万次迭代后会慢下来。
要点:
什么是判断这些迭代何时以及如何减速的最佳方式?我正在考虑类似于“圈时”基准测试的东西,它可以让我绘制代码中哪些部分的成本增加。
从Array#include?
切换到Hash#has_key?
已经将整个事情加速了很多个数量级。但随着禁止点数越来越长,Hash#has_key?
会开始滞后吗?我可以期待看到显着放缓的重点是什么?
banned_points Hash
仅由{"string rep. of array" => 1}
组成,因为我只是用它来搜索密钥。
感谢您的帮助。