[ruby-dev:48540] [ruby-trunk - misc #10233] iseq.cのget_line_info()でバイナリサーチを使うように修正するか

From: shiracha.rikyu@...
Date: 2014-09-13 06:49:48 UTC
List: ruby-dev #48540
Issue #10233 has been updated by Rikyu Shiracha.

File benchmark_short.rb added
File benchmark_long.rb added
File benchmark_log.txt added

Koichi Sasada wrote:
> ありがとうございます。
> 性能評価みたいなことって出来ますか?
> (短いと、実は、線形サーチのほうが速かったりして)

これでよいかちょっとわからないのですが、一応とってみました。
添付のbenchmark_short/long.rbをパッチとパッチを当てる直前のコミットで比較してあります。
結果がbenchmark_log.txtです。

内容としては例外が主な用途だろうということでその場合の動作で見ています。

特に有意差はなさそうな感じですね。。。複雑になるだけかもしれない。


Nobuyoshi Nakada wrote:
> とりあえずインデントは揃えてください。

すいません!ammendコミットをforce pushして直しておきました。
(最初はタブとスペースが混ざったとても変わったフォーマッティングだと思ってそのままの見た目にしたがってしまったんですが、
 改めて読むと4spaceでインデント合わせしてるけどtabstopは8で、コード頭のほうのスペースが8になったらタブに置き換えるスタイルだったんですね...
 vimでいうと noexpandtab tabstop=8。)

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

* Author: Rikyu Shiracha
* Status: Open
* Priority: Low
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
以下の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/

In This Thread

Prev Next