Issue #10233 has been updated by mame (Yusuke Endoh).


このチケットを全く知りませんでした(すみません)が、2.5 で二分探索にしました。さらにその後 2.6 では簡潔ビットベクトルで O(1) にしました。

----------------------------------------
Misc #10233: iseq.cのget_line_info()でバイナリサーチを使うように修正するか
https://bugs.ruby-lang.org/issues/10233#change-76544

* Author: shiracha (Rikyu Shiracha)
* Status: Closed
* Priority: Normal
* Assignee: 
----------------------------------------
以下のPullRequestを投げさせていただきました。
https://github.com/ruby/ruby/pull/712

TODOコメントがあって気になったのでその通りの修正をとりあえず作ってみた形です。

ただむしろlinear searchのままにしておいて、コメントを
「ここは主にエラーハンドリングやデバッグに利用される部分でシンプルに保ちたいのでlinear searchを使っている」
という形に修正するべきかもしれない。とも思って迷っており、やはり辞めるべきかレビューを頂きたいです。

---Files--------------------------------
benchmark_short.rb (1.5 KB)
benchmark_long.rb (7.65 KB)
benchmark_log.txt (1.69 KB)


-- 
https://bugs.ruby-lang.org/