mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 433af16167
			
		
	
	
		433af16167
		
	
	
	
	
		
			
			benchmark/*.rb is only benchmarks now. We don't need prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			474 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			474 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # [ruby-core:70129] [Bug #11396]
 | |
| collection_size = 200000
 | |
| sample_size = 10000
 | |
| 
 | |
| values = (1..collection_size).to_a.map do |x|
 | |
|   "THIS IS A LONGER STRING THAT IS ALSO UNIQUE #{x}"
 | |
| end
 | |
| 
 | |
| symbol_hash = {}
 | |
| 
 | |
| values.each do |x|
 | |
|   symbol_hash[x.to_sym] = 1
 | |
| end
 | |
| 
 | |
| # use the same samples each time to minimize deviations
 | |
| rng = Random.new(0)
 | |
| symbol_sample_array = values.sample(sample_size, random: rng).map(&:to_sym)
 | |
| 
 | |
| 3000.times do
 | |
|   symbol_sample_array.each { |x| symbol_hash[x] }
 | |
| end
 |