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 よりも遅い