mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* benchmark/gc: create a directory to store GC related benchmark.
* benchmark/gc/gcbench.rb: moved from tool/gcbench.rb. * benchmark/gc/hash(1|2).rb: ditto. * benchmark/gc/rdoc.rb: ditto. * benchmark/gc/null.rb: added. * common.mk: fix rule. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									ab7e459210
								
							
						
					
					
						commit
						99b10ff471
					
				
					 8 changed files with 40 additions and 24 deletions
				
			
		
							
								
								
									
										27
									
								
								benchmark/gc/gcbench.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								benchmark/gc/gcbench.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
 | 
			
		||||
require 'benchmark'
 | 
			
		||||
require 'pp'
 | 
			
		||||
 | 
			
		||||
script = File.join(__dir__, ARGV.shift)
 | 
			
		||||
script += '.rb' unless FileTest.exist?(script)
 | 
			
		||||
raise "#{script} not found" unless FileTest.exist?(script)
 | 
			
		||||
 | 
			
		||||
puts "Script: #{script}"
 | 
			
		||||
 | 
			
		||||
GC::Profiler.enable
 | 
			
		||||
tms = Benchmark.measure{|x|
 | 
			
		||||
  load script
 | 
			
		||||
}
 | 
			
		||||
GC::Profiler.report
 | 
			
		||||
pp GC.stat
 | 
			
		||||
 | 
			
		||||
gc_time = GC::Profiler.total_time
 | 
			
		||||
 | 
			
		||||
puts
 | 
			
		||||
puts script
 | 
			
		||||
puts Benchmark::CAPTION
 | 
			
		||||
puts tms
 | 
			
		||||
puts "GC total time (sec): #{gc_time}"
 | 
			
		||||
puts
 | 
			
		||||
puts "Summary #{RUBY_DESCRIPTION}\t#{tms.real}\t#{gc_time}\t#{GC.count}"
 | 
			
		||||
puts "         (real time in sec, GC time in sec, GC count)"
 | 
			
		||||
							
								
								
									
										11
									
								
								benchmark/gc/hash1.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								benchmark/gc/hash1.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
value = 0.01
 | 
			
		||||
h = {}
 | 
			
		||||
n = 50_000
 | 
			
		||||
 | 
			
		||||
1.upto(n){|i|
 | 
			
		||||
  h["%020d" % i] = "v-#{i}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
(n * 1_000).times{
 | 
			
		||||
  ''
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								benchmark/gc/hash2.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								benchmark/gc/hash2.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
value = 0.01
 | 
			
		||||
h = {}
 | 
			
		||||
n = 4*(10**6)
 | 
			
		||||
 | 
			
		||||
1.upto(n){|i|
 | 
			
		||||
  h["%020d" % i] = value * i
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								benchmark/gc/null.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								benchmark/gc/null.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
# null
 | 
			
		||||
							
								
								
									
										13
									
								
								benchmark/gc/rdoc.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								benchmark/gc/rdoc.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
require 'rdoc/rdoc'
 | 
			
		||||
require 'tmpdir'
 | 
			
		||||
 | 
			
		||||
srcdir = File.expand_path('../..', __dir__)
 | 
			
		||||
 | 
			
		||||
Dir.mktmpdir('rdocbench-'){|d|
 | 
			
		||||
  dir = File.join(d, 'rdocbench')
 | 
			
		||||
  args = %W(--root #{srcdir} --page-dir #{srcdir}/doc --encoding=UTF-8 --no-force-update --all --ri --debug --quiet #{srcdir})
 | 
			
		||||
  args << '--op' << dir
 | 
			
		||||
 | 
			
		||||
  r = RDoc::RDoc.new
 | 
			
		||||
  r.document args
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue