2004年6月13日(日) また日が変わっちゃったよ [同日]
● [tDiary] リンク元プラグインのプロファイルを取ってみる
なんだか青木さんの手をわずらわせてるみたいで無闇にがんばってみたりして。
disp_referrer.rbのparse_as_searchだけでプロファイルを取ってみました。
Index: disp_referrer.rb
===================================================================
RCS file: /cvsroot/tdiary/plugin/disp_referrer.rb,v
retrieving revision 1.38
diff -u -r1.38 disp_referrer.rb
--- disp_referrer.rb 12 Jun 2004 10:45:28 -0000 1.38
+++ disp_referrer.rb 13 Jun 2004 12:27:52 -0000
@@ -631,6 +631,7 @@
private
def parse_as_search( setup )
+set_trace_func Profiler__::PROFILE_PROC
# see which search engine is used
engine = DispRef2String::company_name( @url, setup['search_engines'] )
return nil unless engine
@@ -693,6 +694,7 @@
@title_group = @title
@key = @title_group
+set_trace_func nil
self
end
@@ -1455,3 +1457,10 @@
else
DispRef2Latest_cache = nil
end
+
+require 'profiler'
+END {
+ Profiler__::print_profile(STDERR)
+}
+Profiler__::start_profile
+Profiler__::stop_profile
この日誌の22192個(うち21223個)のURLをパースした時のプロファイルをhead -20したのが下記。
% cumulative self self total time seconds seconds calls ms/call ms/call name 29.86 459.09 459.09 87094 5.27 10.77 Array#each 16.80 717.33 258.24 969 266.50 320.65 Array#referer_scheme_each_orig 5.63 803.88 86.55 278363 0.31 0.39 Hash#[] 3.82 862.66 58.78 130499 0.45 0.63 Class#new 2.57 902.19 39.53 219061 0.18 0.18 Array#[] 2.54 941.20 39.01 173420 0.22 0.22 String#split 2.17 974.63 33.43 67985 0.49 0.61 String#gsub 2.04 1005.97 31.34 151826 0.21 0.21 String#gsub! 1.97 1036.20 30.23 22192 1.36 5.15 TDiary::Plugin::DispRef2String#company_name 1.88 1065.12 28.92 21281 1.36 21.55 TDiary::Plugin::DispRef2String#parse_query 1.66 1090.62 25.50 44191 0.58 0.81 #<TDiary::Config:0x4028606c>.to_native 1.64 1115.80 25.18 44191 0.57 1.38 TDiary::Plugin::DispRef2Setup#to_native 1.60 1140.34 24.54 21477 1.14 15.58 Kernel.catch 1.50 1163.40 23.06 21223 1.09 1.64 TDiary::Plugin::DispRef2String#normalize 1.38 1184.54 21.14 108275 0.20 0.20 Hash#[]= 1.37 1205.65 21.11 122103 0.17 0.17 Hash#default 1.35 1226.40 20.75 22968 0.90 2.54 TDiary::Plugin::DispRef2String#unescape 1.21 1244.99 18.59 108249 0.17 0.17 Array#initialize
Array#eachってsetup['search_engines'][engine].each do |e|の分かなあ。こいつを減らすのは…うーん。
…寝る。
● 言葉ごちゃまぜ
● 今日の日記が見えなくなって焦る
タイプミスで「この日の日記を隠す」ようになってました。あーびっくりした。
[ツッコミを入れる]
ツッコミ・コメントがあればどうぞ! spam対策でE-mail欄は隠してあります。もしE-mail欄が見えていても、何も入力しないで下さい。
脳味噌から汁が出るくらい考える。こともある。
最近のツッコまれどころ