[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:3777

From: "ridec (ridec _)" <redmine@r...>
Date: Thu, 29 Aug 2013 18:44:25 +0900
Subject: [ruby-reference-manual:3777] [るりまプロジェクト - Bug #8250] bitclust update の file mode が bitclust setup よりも遅い


Issue #8250 has been updated by ridec (ridec _).

File save_method_index.txt.gz added

はじめまして

いつもるりまにはお世話になっています。
少しでも貢献できないかと思い、こちらの問題を調査させていただきました。

BitClust::MethodDatabase#commitから呼ばれているBitClust::Completion#save_completion_index -> BitClust::Completion#save_method_indexの実行に時間がかかっているようです。
ruby-profを使いsave_method_indexのプロファイルを取ったところ、sortに時間がかかっているようでしたので、sortをsort_byに置き換えたところ
bitclust update ~/.bitclust/rubydoc/refm/api/src/abbrev.rd
が16分程度かかる環境で、置き換え後12分まで高速化しました。

setupが1分以内で終わることを考えると、あまり意味のない高速化ですが、ひとまずこちらで調査結果を報告すると共に、pullreqestをお送りします。

また、ruby-profのcall_treeプロファイルを添付します。

ruby-profの使い方は以下のブログを参考にしました。
http://blog.mirakui.com/entry/20100919/rubyprof

実行環境
Ubuntu 13.04 x86
ruby 1.9.3p448
----------------------------------------
Bug #8250: bitclust update の file mode が bitclust setup よりも遅い
https://bugs.ruby-lang.org/issues/8250#change-41407

Author: okkez (okkez _)
Status: Open
Priority: Low
Assignee: 
Category: bitclust
Target version: 
reporter: 
ruby_version: 


=begin
  bitclust update ~/.bitclust/rubydoc/refm/api/src/abbrev.rd

が bitclust setup で新規作成するのにかかる時間の5倍以上待っても終わりません。
bitclust setup が30秒以内で終わる環境で上記コマンドが10分程度かかります。
BitClust::MethodDatabase#commit の途中で時間がかかっていそうだ、というところまでは調べました。

全体的にスキップすべき処理が多いように見えます。

が、常に bitclust setup を使うようにすれば、データベースは生成できるので優先度は低めでいいかな、と思います。
また bitclust setup も数分で終わるため bitclust update をがんばる必要性はなさそうです。
=end



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

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3624 2013-04-11 05:33 [redmine@r...        ] [るりまプロジェクト - Bug #8250][Open] bitclust update の file mode が bitclust setup よりも遅い
->    3777 2013-08-29 11:44 ┣[redmine@r...        ] [るりまプロジェクト - Bug #8250] bitclust update の file mode が bitclust setup よりも遅い
      3801 2013-09-03 09:37 ┗[redmine@r...        ] [るりまプロジェクト - Bug #8250] bitclust update の file mode が bitclust setup よりも遅い