mirror of
https://github.com/kemko/liquid.git
synced 2026-01-02 00:05:42 +03:00
Add profile:stackprof rake task.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@ pkg
|
||||
.ruby-version
|
||||
*.bundle
|
||||
/tmp
|
||||
Gemfile.lock
|
||||
|
||||
4
Rakefile
4
Rakefile
@@ -65,6 +65,10 @@ namespace :profile do
|
||||
ruby "./performance/profile.rb"
|
||||
end
|
||||
|
||||
task :stackprof do
|
||||
ruby "./performance/stackprof.rb"
|
||||
end
|
||||
|
||||
desc "Run KCacheGrind"
|
||||
task :grind => :run do
|
||||
system "qcachegrind /tmp/liquid.rubyprof_calltreeprinter.txt"
|
||||
|
||||
@@ -26,4 +26,7 @@ Gem::Specification.new do |s|
|
||||
s.require_path = "lib"
|
||||
|
||||
s.add_development_dependency 'rake-compiler'
|
||||
s.add_development_dependency 'stackprof'
|
||||
s.add_development_dependency 'rake'
|
||||
s.add_development_dependency 'activesupport'
|
||||
end
|
||||
|
||||
15
performance/stackprof.rb
Normal file
15
performance/stackprof.rb
Normal file
@@ -0,0 +1,15 @@
|
||||
require 'stackprof' rescue fail("install stackprof extension/gem")
|
||||
require File.dirname(__FILE__) + '/theme_runner'
|
||||
|
||||
profiler = ThemeRunner.new
|
||||
profiler.run
|
||||
results = StackProf.run(mode: :cpu, out: ENV['FILENAME']) do
|
||||
100.times do
|
||||
profiler.run
|
||||
end
|
||||
end
|
||||
if results.kind_of?(File)
|
||||
puts "wrote stackprof dump to #{results.path}"
|
||||
else
|
||||
StackProf::Report.new(results).print_text(false, 20)
|
||||
end
|
||||
Reference in New Issue
Block a user