具体的には、以下のようなコード(簡単にしてある)を書き、
require 'rake'
require 'readline'
Rake.application.standard_exception_handling do
Rake.application.init
Rake.application.load_rakefile
while buf = Readline.readline('rake > ', true)
Rake.application[buf].invoke
end
end
カレントにあるRakefileを読み込んで、タスクの入力を待つというものなんだけど、よく考えると、最初のRakefileしか読み込みが省かれない(Rakefileから別のRakefileを呼び出している場合は、その都度読み込まれる)ので、あまり早くならないのであった(´・ω・`)
(子|孫)Rakefileの読み込みも、プロセスを起動せずに行えるように作らないと意味がないのですな。
追記:
うそ。上のコードだと、一度起動したタスクが二回目以降起動しない('A`)
なんか他にやらなきゃいけないことがあるのか、それとも再度初期化からやり直さないとダメなのか。
後者だとすると、もうこの線での高速化は無理って事だなあ……。
0 件のコメント:
コメントを投稿