class QwikBench
Constants
- DefaultConfig
Public Class Methods
main(argv)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 120 def self.main(argv) config = {} config.update(DefaultConfig) config.update(parse_args(argv)) qb = QwikBench.new qb.run(config) end
parse_args(argv)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 128 def self.parse_args(argv) config = {} optionparser = OptionParser.new {|opts| opts.banner = "Usage: qwik-bench [options]" opts.separator '' opts.separator 'Specific options:' opts.on('-c', '--copy', 'Copy directory first.') {|a| config[:copy] = a } opts.on('-s', '--sitename sitename', 'Specify your sitename.') {|a| config[:sitename] = a } opts.on('-p', '--path path', 'Specify path.') {|a| config[:path] = a } opts.on('-r', '--repeat 100', OptionParser::DecimalInteger, 'Repeat times.') {|a| config[:repeat] = a } opts.separator '' opts.separator 'Common options:' opts.on_tail('-h', '--help', 'Show this message') { puts opts exit } } optionparser.parse!(argv) return config end
Public Instance Methods
bench(config)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 76 def bench(config) sitename = config[:sitename] path = config[:path] repeat = config[:repeat] pages = copy_all(sitename) if pages.nil? puts 'Error: No such site.' return end puts "=" * 70 puts "sitename: #{sitename}" puts "pagenum: #{pages.length}" puts "path: #{path}" if path puts "repeat: #{repeat}" puts bench_result = Benchmark.measure { t_add_user repeat.times { if path res = session(path) dummy = res.body.format_xml else pages.each {|base| res = session("/test/#{base}.html") dummy = res.body.format_xml } end } } puts Benchmark::CAPTION puts bench_result puts "=" * 70 end
copy_all(sitename)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 57 def copy_all(sitename) src = @org_sites_dir.path + sitename return nil unless src.exist? dest = @dir dest.rmtree if dest.exist? dest.rmdir if dest.exist? puts 'start copy.' if File.exist?('/bin/cp') system "/bin/cp -a #{src} #{dest}" else FileUtils.cp_r(src.to_s, dest.to_s) end puts 'copy done.' return get_pages(src) end
get_pages(src)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 46 def get_pages(src) pages = [] src.each_entry {|file| if /\A(.+)\.txt\z/ =~ file.to_s #pages << file.to_s.sub(/\.txt\z/, "") pages << $1 end } return pages end
nu_copy_all(sitename)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 24 def nu_copy_all(sitename) src = @org_sites_dir.path + sitename return nil unless src.exist? dest = @dir pages = [] src.each_entry {|file| if /\A.+\.txt\z/ =~ file.to_s srcfile = src+file str = srcfile.read mtime = srcfile.mtime destfile = dest+file destfile.put(str) destfile.utime(mtime, mtime) pages << file.to_s.sub(/\.txt\z/, "") end } return pages end
run(config)
click to toggle source
# File vendor/qwik/lib/qwik/dev-bench.rb, line 114 def run(config) setup bench(config) #teardown end