Profile Report

Thread ID Fiber ID Total Time
70248707786460 70248710417360 0.4745459999999997

Thread 70248707786460, Fiber: 70248710417360

%Total %Self Total Self Wait Child Calls Name Line
100.00% 0.01% 0.47 0.00 0.00 0.47 1 Global#[No method] 26
    0.47 0.00 0.00 0.47 1/8124 Array#each 30
    0.00 0.00 0.00 0.00 1/1 <Class::Searches>#series_for 30
    0.00 0.00 0.00 0.00 1/90 Kernel#respond_to? 26
    0.00 0.00 0.00 0.00 1894/8124 Enumerable#sort_by
    0.00 0.00 0.00 0.00 40/8124 Kernel#loop
    0.00 0.00 0.00 0.00 4/8124 Searches#each 12
    0.00 0.00 0.00 0.00 6060/8124 Enumerable#inject
    0.00 0.00 0.00 0.00 1/8124 Picky::Categories#each 1
    0.00 0.00 0.00 0.00 40/8124 Picky::Query::Allocations#each 1
    0.00 0.00 0.00 0.00 40/8124 Enumerable#any?
    0.00 0.00 0.00 0.00 40/8124 Picky::Query::Allocations#calculate_score 32
    0.00 0.00 0.00 0.00 4/8124 Picky::QualifierMapper#add 19
    0.47 0.00 0.00 0.47 1/8124 Global#[No method] 30
99.99% 0.01% 0.47 0.00 0.00 0.47 8124 *Array#each
    0.47 0.00 0.00 0.47 4/4 Searches#each
    0.47 0.00 0.00 0.47 40/40 Picky::Search#search
    0.30 0.01 0.00 0.29 1894/1894 Picky::Query::Allocation#process!
    0.09 0.01 0.00 0.08 1923/1923 Picky::Query::Allocation#calculate_score
    0.03 0.00 0.00 0.03 40/40 Picky::Query::Indexes#allocation_for
    0.01 0.01 0.00 0.00 6863/6863 Picky::Query::Combination#ids
    0.01 0.00 0.00 0.01 100/100 Picky::Query::Token#possible_combinations
    0.01 0.01 0.00 0.00 6899/6899 Picky::Query::Combination#weight
    0.01 0.00 0.00 0.01 400/400 Picky::Query::Token#combination_for
    0.00 0.00 0.00 0.00 4976/4992 Symbol#==
    0.00 0.00 0.00 0.00 4/4 Searches#prepare
    0.00 0.00 0.00 0.00 1833/1937 Fixnum#zero?
    0.00 0.00 0.00 0.00 1923/2003 Fixnum#+
    0.00 0.00 0.00 0.00 356/4865 Class#new
    0.00 0.00 0.00 0.00 80/90 Kernel#respond_to?
    0.00 0.00 0.00 0.00 100/3957 Array#empty?
    0.00 0.00 0.00 0.00 4/4 Picky::QualifierMapper#add
    0.00 0.00 0.00 0.00 4/4 Picky::Search#terminate_early
    0.00 0.00 0.00 0.00 4/4 Hash#[]=
    0.00 0.00 0.00 0.00 4/4 Hash#has_key?
    0.00 0.00 0.00 0.00 4/4 Symbol#intern
    0.00 0.00 0.00 0.00 200/200 String#[]
    0.00 0.00 0.00 0.00 200/744 String#=~
    0.47 0.00 0.00 0.47 4/4 Array#each
99.44% 0.00% 0.47 0.00 0.00 0.47 4 Searches#each 11
    0.00 0.00 0.00 0.00 4/8124 Array#each 12
    0.47 0.00 0.00 0.47 40/40 Array#each
99.27% 0.03% 0.47 0.00 0.00 0.47 40 Picky::Search#search 215
    0.46 0.00 0.00 0.46 40/40 Picky::Search#search_with 216
    0.01 0.00 0.00 0.01 40/40 Picky::Search#tokenized 216
    0.00 0.00 0.00 0.00 80/80 Integer#to_i 216
    0.46 0.00 0.00 0.46 40/40 Picky::Search#search 216
97.46% 0.04% 0.46 0.00 0.00 0.46 40 Picky::Search#search_with 223
    0.46 0.00 0.00 0.46 40/40 Picky::Helpers::Measuring#timed 226
    0.00 0.00 0.00 0.00 40/40 Float#round 229
    0.46 0.00 0.00 0.46 40/40 Picky::Search#search_with 226
97.41% 0.05% 0.46 0.00 0.00 0.46 40 Picky::Helpers::Measuring#timed 10
    0.46 0.00 0.00 0.46 40/40 Proc#call 15
    0.00 0.00 0.00 0.00 80/80 Time#to_f 17
    0.00 0.00 0.00 0.00 80/80 <Class::Time>#now 17
    0.00 0.00 0.00 0.00 40/48 Kernel#lambda 11
    0.46 0.00 0.00 0.46 40/40 Picky::Helpers::Measuring#timed 15
97.16% 0.02% 0.46 0.00 0.00 0.46 40 Proc#call
    0.46 0.00 0.00 0.46 40/40 Picky::Search#execute
    0.46 0.00 0.00 0.46 40/40 Proc#call
97.14% 0.02% 0.46 0.00 0.00 0.46 40 Picky::Search#execute 238
    0.30 0.00 0.00 0.30 40/40 <Class::Picky::Results>#from 239
    0.16 0.00 0.00 0.16 40/40 Picky::Search#sorted_allocations 239
    0.30 0.00 0.00 0.30 40/40 Picky::Search#execute 239
64.26% 0.03% 0.30 0.00 0.00 0.30 40 <Class::Picky::Results>#from 27
    0.30 0.00 0.00 0.30 40/40 Picky::Results#prepare! 29
    0.00 0.00 0.00 0.00 40/4865 Class#new 28
    0.30 0.00 0.00 0.30 40/40 <Class::Picky::Results>#from 29
64.19% 0.02% 0.30 0.00 0.00 0.30 40 Picky::Results#prepare! 38
    0.30 0.00 0.00 0.30 40/40 Picky::Query::Allocations#process! 41
    0.30 0.00 0.00 0.30 40/40 Picky::Results#prepare! 41
64.17% 0.02% 0.30 0.00 0.00 0.30 40 Picky::Query::Allocations#process! 116
    0.30 0.00 0.00 0.30 40/40 Picky::Query::Allocations#each 117
    0.30 0.00 0.00 0.30 40/40 Picky::Query::Allocations#process! 117
64.15% 0.02% 0.30 0.00 0.00 0.30 40 Picky::Query::Allocations#each 1
    0.00 0.00 0.00 0.00 40/8124 Array#each 1
    0.30 0.01 0.00 0.29 1894/1894 Array#each
62.53% 1.39% 0.30 0.01 0.00 0.29 1894 Picky::Query::Allocation#process! 72
    0.29 0.01 0.00 0.28 1894/1894 Picky::Query::Allocation#calculate_ids 73
    0.00 0.00 0.00 0.00 1894/1894 Array#slice! 75
    0.29 0.01 0.00 0.28 1894/1894 Picky::Query::Allocation#process! 73
60.86% 1.10% 0.29 0.01 0.00 0.28 1894 Picky::Query::Allocation#calculate_ids 53
    0.28 0.01 0.00 0.27 1894/1894 Picky::Backends::Backend#ids 55
    0.00 0.00 0.00 0.00 1894/3817 Picky::Query::Combinations#empty? 54
    0.28 0.01 0.00 0.27 1894/1894 Picky::Query::Allocation#calculate_ids 55
58.86% 1.47% 0.28 0.01 0.00 0.27 1894 Picky::Backends::Backend#ids 74
    0.25 0.03 0.00 0.21 1894/1894 <Class::Performant::Array>#memory_efficient_intersect 85
    0.03 0.00 0.00 0.02 1894/1894 Picky::Query::Combinations#inject 77
    0.25 0.03 0.00 0.21 1894/1894 Picky::Backends::Backend#ids 85
51.70% 6.87% 0.25 0.03 0.00 0.21 1894 <Class::Performant::Array>#memory_efficient_intersect
    0.21 0.00 0.00 0.21 1894/1894 Array#sort_by!
    0.21 0.00 0.00 0.21 1894/1894 <Class::Performant::Array>#memory_efficient_intersect
44.82% 0.61% 0.21 0.00 0.00 0.21 1894 Array#sort_by!
    0.21 0.20 0.00 0.01 1894/1894 Enumerable#sort_by
    0.21 0.20 0.00 0.01 1894/1894 Array#sort_by!
44.21% 43.03% 0.21 0.20 0.00 0.01 1894 Enumerable#sort_by
    0.00 0.00 0.00 0.00 7263/7263 Fixnum#<=>
    0.00 0.00 0.00 0.00 1894/8124 Array#each
    0.16 0.00 0.00 0.16 40/40 Picky::Search#execute 239
32.87% 0.01% 0.16 0.00 0.00 0.16 40 Picky::Search#sorted_allocations 268
    0.16 0.00 0.00 0.16 40/40 Picky::Query::Indexes#prepared_allocations_for 269
    0.16 0.00 0.00 0.16 40/40 Picky::Search#sorted_allocations 269
32.85% 0.06% 0.16 0.00 0.00 0.16 40 Picky::Query::Indexes#prepared_allocations_for 65
    0.09 0.00 0.00 0.09 40/40 Picky::Query::Allocations#calculate_score 72
    0.04 0.00 0.00 0.03 40/40 Picky::Query::Indexes#allocations_for 66
    0.03 0.00 0.00 0.03 40/40 Picky::Query::Allocations#sort! 84
    0.00 0.00 0.00 0.00 100/6060 Array#collect!
    0.00 0.00 0.00 0.00 40/6060 Picky::Query::Tokens#possible_combinations_in 47
    0.00 0.00 0.00 0.00 100/6060 Picky::Categories#possible_for 40
    0.00 0.00 0.00 0.00 40/6060 Picky::Query::Indexes#expand_combinations_from 190
    0.02 0.00 0.00 0.01 1923/6060 Array#clustered_uniq 11
    0.02 0.00 0.00 0.02 1923/6060 Picky::Query::Combinations#score 30
    0.02 0.00 0.00 0.02 1894/6060 Picky::Query::Combinations#inject 1
    0.03 0.00 0.00 0.03 40/6060 Picky::Query::Indexes#allocations_ary_for 106
20.40% 1.76% 0.10 0.01 0.00 0.09 6060 *Enumerable#inject
    0.00 0.00 0.00 0.00 6060/8124 Array#each
    0.09 0.00 0.00 0.09 40/40 Picky::Query::Indexes#prepared_allocations_for 72
19.25% 0.01% 0.09 0.00 0.00 0.09 40 Picky::Query::Allocations#calculate_score 31
    0.00 0.00 0.00 0.00 40/8124 Array#each 32
    0.09 0.01 0.00 0.08 1923/1923 Array#each
18.74% 1.63% 0.09 0.01 0.00 0.08 1923 Picky::Query::Allocation#calculate_score 39
    0.05 0.00 0.00 0.05 1923/1923 Picky::Query::Combinations#boost_for 43
    0.03 0.00 0.00 0.02 1923/1923 Picky::Backends::Backend#weight 43
    0.00 0.00 0.00 0.00 1923/3817 Picky::Query::Combinations#empty? 44
    0.00 0.00 0.00 0.00 1923/1923 Float#+ 43
    0.05 0.00 0.00 0.05 1923/1923 Picky::Query::Allocation#calculate_score 43
10.33% 0.63% 0.05 0.00 0.00 0.05 1923 Picky::Query::Combinations#boost_for 32
    0.05 0.00 0.00 0.04 1923/1923 Picky::Query::Boosts#boost_for 33
    0.05 0.00 0.00 0.04 1923/1923 Picky::Query::Combinations#boost_for 33
9.70% 0.83% 0.05 0.00 0.00 0.04 1923 Picky::Query::Boosts#boost_for 62
    0.03 0.00 0.00 0.02 1923/1923 Picky::Query::Boosts#boost_for_categories 63
    0.02 0.01 0.00 0.01 1923/1959 Array#map 63
    0.04 0.00 0.00 0.03 40/40 Picky::Query::Indexes#prepared_allocations_for 66
7.39% 0.02% 0.04 0.00 0.00 0.03 40 Picky::Query::Indexes#allocations_for 102
    0.03 0.00 0.00 0.03 40/40 Picky::Query::Indexes#allocations_ary_for 103
    0.00 0.00 0.00 0.00 40/4865 Class#new 103
    0.03 0.00 0.00 0.03 40/40 Picky::Query::Indexes#allocations_for 103
7.35% 0.02% 0.03 0.00 0.00 0.03 40 Picky::Query::Indexes#allocations_ary_for 105
    0.03 0.00 0.00 0.03 40/6060 Enumerable#inject 106
    0.03 0.00 0.00 0.03 40/40 Array#each
7.30% 0.03% 0.03 0.00 0.00 0.03 40 Picky::Query::Indexes#allocation_for 110
    0.02 0.00 0.00 0.02 40/40 Array#map! 121
    0.01 0.00 0.00 0.01 40/40 Picky::Query::Tokens#possible_combinations_in 113
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Indexes#expand_combinations_from 117
    0.03 0.00 0.00 0.03 40/40 Picky::Query::Indexes#prepared_allocations_for 84
6.16% 0.02% 0.03 0.00 0.00 0.03 40 Picky::Query::Allocations#sort! 39
    0.03 0.01 0.00 0.02 40/40 Array#sort! 40
    0.03 0.01 0.00 0.02 40/40 Picky::Query::Allocations#sort! 40
6.14% 1.41% 0.03 0.01 0.00 0.02 40 Array#sort!
    0.02 0.02 0.00 0.01 10866/10866 Picky::Query::Allocation#<=>
    0.03 0.00 0.00 0.02 1894/1894 Picky::Backends::Backend#ids 77
5.69% 0.68% 0.03 0.00 0.00 0.02 1894 Picky::Query::Combinations#inject 1
    0.02 0.00 0.00 0.02 1894/6060 Enumerable#inject 1
    0.03 0.00 0.00 0.02 1923/1923 Picky::Query::Allocation#calculate_score 43
5.64% 0.64% 0.03 0.00 0.00 0.02 1923 Picky::Backends::Backend#weight 55
    0.02 0.00 0.00 0.02 1923/1923 Picky::Query::Combinations#score 56
    0.03 0.00 0.00 0.02 1923/1923 Picky::Query::Boosts#boost_for 63
5.40% 0.66% 0.03 0.00 0.00 0.02 1923 Picky::Query::Boosts#boost_for_categories 49
    0.02 0.01 0.00 0.02 1923/1923 Array#clustered_uniq 50
    0.02 0.00 0.00 0.02 1923/1923 Picky::Backends::Backend#weight 56
5.01% 0.62% 0.02 0.00 0.00 0.02 1923 Picky::Query::Combinations#score 29
    0.02 0.00 0.00 0.02 1923/6060 Enumerable#inject 30
    0.02 0.01 0.00 0.02 1923/1923 Picky::Query::Boosts#boost_for_categories 50
4.74% 1.06% 0.02 0.01 0.00 0.02 1923 Array#clustered_uniq 9
    0.02 0.00 0.00 0.01 1923/6060 Enumerable#inject 11
    0.02 0.02 0.00 0.01 10866/10866 Array#sort!
4.73% 3.49% 0.02 0.02 0.00 0.01 10866 Picky::Query::Allocation#<=> 99
    0.01 0.01 0.00 0.00 10866/10866 Float#<=> 100
    0.00 0.00 0.00 0.00 1/4865 Picky::Tokenizer#splits_text_on 105
    0.00 0.00 0.00 0.00 1/4865 <Class::Picky::Tokenizer>#searching 24
    0.00 0.00 0.00 0.00 20/4865 CSV#encode_re 2247
    0.00 0.00 0.00 0.00 8/4865 CSV#init_converters 2083
    0.00 0.00 0.00 0.00 8/4865 Picky::Search#initialize 46
    0.00 0.00 0.00 0.00 4/4865 Range#each
    0.00 0.00 0.00 0.00 40/4865 CSV#shift 1772
    0.00 0.00 0.00 0.00 1/4865 Picky::Categories#qualifier_mapper 43
    0.00 0.00 0.00 0.00 40/4865 Picky::Query::Indexes#allocations_for 103
    0.00 0.00 0.00 0.00 40/4865 <Class::Picky::Query::Tokens>#processed 29
    0.00 0.00 0.00 0.00 40/4865 <Class::Picky::Results>#from 28
    0.00 0.00 0.00 0.00 100/4865 <Class::Picky::Query::Token>#processed 40
    0.00 0.00 0.00 0.00 8/4865 <Class::CSV>#open 1261
    0.00 0.00 0.00 0.00 356/4865 Array#each
    0.00 0.00 0.00 0.00 352/4865 Picky::Query::Token#combination_for 245
    0.02 0.00 0.00 0.01 3846/4865 Array#map!
4.72% 1.27% 0.02 0.01 0.00 0.02 4865 *Class#new
    0.01 0.01 0.00 0.01 1923/1923 Picky::Query::Allocation#initialize
    0.00 0.00 0.00 0.00 1923/1923 Picky::Query::Combinations#initialize
    0.00 0.00 0.00 0.00 352/352 Picky::Query::Combination#initialize
    0.00 0.00 0.00 0.00 4/4 CSV#initialize
    0.00 0.00 0.00 0.00 400/400 Array#initialize
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#initialize
    0.00 0.00 0.00 0.00 40/40 Picky::Results#initialize
    0.00 0.00 0.00 0.00 4/4 Picky::Search#initialize
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Tokens#initialize
    0.00 0.00 0.00 0.00 1/1 Picky::QualifierMapper#initialize
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Allocations#initialize
    0.00 0.00 0.00 0.00 4/4 Picky::Query::Indexes#initialize
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize
    0.00 0.00 0.00 0.00 1/1 RegexpWrapper#initialize
    0.00 0.00 0.00 0.00 20/20 Regexp#initialize
    0.00 0.00 0.00 0.00 4/4 Picky::Query::Boosts#initialize
    0.00 0.00 0.00 0.00 4/4 Hash#initialize
    0.00 0.00 0.00 0.00 4/4 Searches#initialize
    0.02 0.00 0.00 0.02 40/40 Picky::Query::Indexes#allocation_for 121
4.61% 0.66% 0.02 0.00 0.00 0.02 40 Array#map!
    0.02 0.00 0.00 0.01 3846/4865 Class#new
    0.00 0.00 0.00 0.00 4/1959 <Class::Picky::Query::Indexes::Check>#check_backends 22
    0.00 0.00 0.00 0.00 32/1959 CSV#encode_str 2255
    0.02 0.01 0.00 0.01 1923/1959 Picky::Query::Boosts#boost_for 63
3.50% 1.98% 0.02 0.01 0.00 0.01 1959 Array#map
    0.01 0.01 0.00 0.00 6899/6899 Picky::Query::Combination#category_name
    0.00 0.00 0.00 0.00 4/1927 Picky::Index#backend
    0.00 0.00 0.00 0.00 76/96 String#encode
    0.00 0.00 0.00 0.00 76/76 Encoding#name
    0.01 0.01 0.00 0.01 1923/1923 Class#new
2.53% 1.27% 0.01 0.01 0.00 0.01 1923 Picky::Query::Allocation#initialize 23
    0.00 0.00 0.00 0.00 1923/1923 Picky::Index#result_identifier 28
    0.00 0.00 0.00 0.00 1923/1927 Picky::Index#backend 29
    0.01 0.01 0.00 0.00 6863/6863 Array#each
2.26% 1.55% 0.01 0.01 0.00 0.00 6863 Picky::Query::Combination#ids 47
    0.00 0.00 0.00 0.00 329/329 Picky::Category#ids 48
    0.01 0.00 0.00 0.01 40/40 Picky::Query::Indexes#allocation_for 113
1.96% 0.01% 0.01 0.00 0.00 0.01 40 Picky::Query::Tokens#possible_combinations_in 46
    0.00 0.00 0.00 0.00 40/6060 Enumerable#inject 47
    0.01 0.00 0.00 0.01 100/100 Array#each
1.88% 0.06% 0.01 0.00 0.00 0.01 100 Picky::Query::Token#possible_combinations 237
    0.01 0.00 0.00 0.01 100/100 Picky::Categories#possible_for 238
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#similar? 238
    0.01 0.00 0.00 0.01 100/100 Picky::Query::Token#possible_combinations 238
1.80% 0.06% 0.01 0.00 0.00 0.01 100 Picky::Categories#possible_for 39
    0.00 0.00 0.00 0.00 100/100 Picky::Categories#possible_categories 40
    0.00 0.00 0.00 0.00 100/6060 Enumerable#inject 40
    0.00 0.00 0.00 0.00 1923/3817 Picky::Query::Allocation#calculate_score 44
    0.00 0.00 0.00 0.00 1894/3817 Picky::Query::Allocation#calculate_ids 54
1.79% 1.34% 0.01 0.01 0.00 0.00 3817 Picky::Query::Combinations#empty? 1
    0.00 0.00 0.00 0.00 3817/3957 Array#empty? 1
    0.01 0.00 0.00 0.01 40/40 Picky::Search#search 216
1.77% 0.04% 0.01 0.00 0.00 0.01 40 Picky::Search#tokenized 258
    0.00 0.00 0.00 0.00 40/40 <Class::Picky::Query::Tokens>#processed 260
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#tokenize 259
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Tokens#partialize_last 262
    0.01 0.01 0.00 0.00 6899/6899 Array#map
1.53% 1.53% 0.01 0.01 0.00 0.00 6899 Picky::Query::Combination#category_name 27
    0.00 0.00 0.00 0.00 40/120 Picky::Tokenizer#tokens_for 280
    0.00 0.00 0.00 0.00 40/120 Picky::Query::Indexes#expand_combinations_from 199
    0.00 0.00 0.00 0.00 40/120 <Class::Picky::Query::Tokens>#processed 29
1.46% 0.22% 0.01 0.00 0.00 0.01 120 Array#collect!
    0.00 0.00 0.00 0.00 100/100 <Class::Picky::Query::Token>#processed
    0.00 0.00 0.00 0.00 100/280 String#split
    0.00 0.00 0.00 0.00 100/100 Array#*
    0.00 0.00 0.00 0.00 100/100 String#downcase!
    0.00 0.00 0.00 0.00 100/1937 Fixnum#zero?
    0.00 0.00 0.00 0.00 100/6060 Enumerable#inject
    0.01 0.01 0.00 0.00 6899/6899 Array#each
1.45% 1.45% 0.01 0.01 0.00 0.00 6899 Picky::Query::Combination#weight 39
    0.01 0.00 0.00 0.01 400/400 Array#each
1.30% 0.21% 0.01 0.00 0.00 0.01 400 Picky::Query::Token#combination_for 243
    0.00 0.00 0.00 0.00 400/400 Picky::Category#weight 244
    0.00 0.00 0.00 0.00 352/4865 Class#new 245
    0.01 0.01 0.00 0.00 10866/10866 Picky::Query::Allocation#<=> 100
1.24% 1.24% 0.01 0.01 0.00 0.00 10866 Float#<=>
    0.00 0.00 0.00 0.00 40/40 Picky::Search#tokenized 260
1.03% 0.02% 0.00 0.00 0.00 0.00 40 <Class::Picky::Query::Tokens>#processed 28
    0.00 0.00 0.00 0.00 40/120 Array#collect! 29
    0.00 0.00 0.00 0.00 40/4865 Class#new 29
    0.00 0.00 0.00 0.00 40/80 Array#zip 29
    0.00 0.00 0.00 0.00 100/100 Array#collect!
0.85% 0.05% 0.00 0.00 0.00 0.00 100 <Class::Picky::Query::Token>#processed 39
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#process 40
    0.00 0.00 0.00 0.00 100/4865 Class#new 40
    0.00 0.00 0.00 0.00 7263/7263 Enumerable#sort_by
0.83% 0.83% 0.00 0.00 0.00 0.00 7263 Fixnum#<=>
    0.00 0.00 0.00 0.00 400/400 Picky::Query::Token#combination_for 244
0.82% 0.30% 0.00 0.00 0.00 0.00 400 Picky::Category#weight 18
    0.00 0.00 0.00 0.00 400/729 Picky::Category#bundle_for 19
    0.00 0.00 0.00 0.00 400/400 Picky::Bundle#weight 28
    0.00 0.00 0.00 0.00 400/729 Picky::Query::Token#range 20
    0.00 0.00 0.00 0.00 100/100 <Class::Picky::Query::Token>#processed 40
0.72% 0.13% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#process 42
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#partialize 44
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#similarize 45
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#qualify 43
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#remove_illegals 47
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#rangify 46
    0.00 0.00 0.00 0.00 329/329 Picky::Query::Combination#ids 48
0.71% 0.25% 0.00 0.00 0.00 0.00 329 Picky::Category#ids 34
    0.00 0.00 0.00 0.00 329/729 Picky::Category#bundle_for 35
    0.00 0.00 0.00 0.00 329/329 Picky::Bundle#ids 48
    0.00 0.00 0.00 0.00 329/729 Picky::Query::Token#range 36
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Indexes#allocation_for 117
0.69% 0.06% 0.00 0.00 0.00 0.00 40 Picky::Query::Indexes#expand_combinations_from 182
    0.00 0.00 0.00 0.00 40/120 Array#collect! 199
    0.00 0.00 0.00 0.00 40/80 Array#zip 236
    0.00 0.00 0.00 0.00 40/40 Enumerable#any? 186
    0.00 0.00 0.00 0.00 40/140 Array#shift 236
    0.00 0.00 0.00 0.00 40/49 Symbol#to_proc 186
    0.00 0.00 0.00 0.00 40/6060 Enumerable#inject 190
    0.00 0.00 0.00 0.00 1923/1923 Picky::Query::Allocation#initialize 28
0.64% 0.64% 0.00 0.00 0.00 0.00 1923 Picky::Index#result_identifier 17
    0.00 0.00 0.00 0.00 4/1927 Array#map
    0.00 0.00 0.00 0.00 1923/1927 Picky::Query::Allocation#initialize 29
0.62% 0.62% 0.00 0.00 0.00 0.00 1927 Picky::Index#backend 135
    0.00 0.00 0.00 0.00 40/40 Picky::Search#tokenized 259
0.61% 0.06% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#tokenize 235
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#pretokenize 238
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#tokens_for 240
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#preprocess 236
    0.00 0.00 0.00 0.00 40/140 String#blank? 237
    0.00 0.00 0.00 0.00 40/52 String#to_s 236
    0.00 0.00 0.00 0.00 8/4992 CSV#init_separators 1973
    0.00 0.00 0.00 0.00 8/4992 CSV#init_converters 2079
    0.00 0.00 0.00 0.00 4976/4992 Array#each
0.57% 0.57% 0.00 0.00 0.00 0.00 4992 Symbol#==
    0.00 0.00 0.00 0.00 4/4 Array#each
0.52% 0.00% 0.00 0.00 0.00 0.00 4 Searches#prepare 15
    0.00 0.00 0.00 0.00 4/4 CSV#each 19
    0.00 0.00 0.00 0.00 4/4 <Class::CSV>#open 19
    0.00 0.00 0.00 0.00 329/729 Picky::Category#ids 35
    0.00 0.00 0.00 0.00 400/729 Picky::Category#weight 19
0.48% 0.29% 0.00 0.00 0.00 0.00 729 Picky::Category#bundle_for 54
    0.00 0.00 0.00 0.00 729/729 Picky::Query::Token#partial? 55
    0.00 0.00 0.00 0.00 40/3957 Picky::Query::Tokens#empty? 1
    0.00 0.00 0.00 0.00 100/3957 Array#each
    0.00 0.00 0.00 0.00 3817/3957 Picky::Query::Combinations#empty? 1
0.46% 0.46% 0.00 0.00 0.00 0.00 3957 Array#empty?
    0.00 0.00 0.00 0.00 1923/1923 Class#new
0.44% 0.44% 0.00 0.00 0.00 0.00 1923 Picky::Query::Combinations#initialize 21
    0.00 0.00 0.00 0.00 4/4 Searches#prepare 19
0.36% 0.08% 0.00 0.00 0.00 0.00 4 CSV#each 1714
    0.00 0.00 0.00 0.00 40/40 CSV#shift 28
    0.00 0.00 0.00 0.00 40/40 Integer#times 23
    0.00 0.00 0.00 0.00 40/72 Array#join 27
    0.00 0.00 0.00 0.00 40/40 Array#first 21
    0.00 0.00 0.00 0.00 40/140 Array#shift 26
    0.00 0.00 0.00 0.00 4/12 Kernel#block_given? 1715
    0.00 0.00 0.00 0.00 200/540 Picky::Query::Token#similarize 157
    0.00 0.00 0.00 0.00 140/540 String#blank? 105
    0.00 0.00 0.00 0.00 200/540 Picky::Query::Token#partialize 112
0.31% 0.14% 0.00 0.00 0.00 0.00 540 Kernel#!~
    0.00 0.00 0.00 0.00 540/744 String#=~
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#tokenize 238
0.31% 0.05% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#pretokenize 269
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#reject 272
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#split 270
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#normalize_with_patterns? 271
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#cap? 273
    0.00 0.00 0.00 0.00 1894/1894 Picky::Query::Allocation#process! 75
0.28% 0.28% 0.00 0.00 0.00 0.00 1894 Array#slice!
    0.00 0.00 0.00 0.00 40/40 CSV#each 28
0.26% 0.03% 0.00 0.00 0.00 0.00 40 CSV#shift 1751
    0.00 0.00 0.00 0.00 40/40 Kernel#loop 1774
    0.00 0.00 0.00 0.00 40/4865 Class#new 1772
    0.00 0.00 0.00 0.00 40/40 CSV#header_row? 1758
    0.00 0.00 0.00 0.00 1923/1923 Picky::Query::Allocation#calculate_score 43
0.25% 0.25% 0.00 0.00 0.00 0.00 1923 Float#+
    0.00 0.00 0.00 0.00 4/1937 Numeric#nonzero?
    0.00 0.00 0.00 0.00 100/1937 Array#collect!
    0.00 0.00 0.00 0.00 1833/1937 Array#each
0.24% 0.24% 0.00 0.00 0.00 0.00 1937 Fixnum#zero?
    0.00 0.00 0.00 0.00 80/2003 Time#initialize
    0.00 0.00 0.00 0.00 1923/2003 Array#each
0.24% 0.24% 0.00 0.00 0.00 0.00 2003 Fixnum#+
    0.00 0.00 0.00 0.00 100/100 Picky::Categories#possible_for 40
0.24% 0.04% 0.00 0.00 0.00 0.00 100 Picky::Categories#possible_categories 53
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#predefined_categories 54
    0.00 0.00 0.00 0.00 100/100 Picky::Categories#qualifier_mapper 54
    0.00 0.00 0.00 0.00 40/40 CSV#shift 1774
0.23% 0.10% 0.00 0.00 0.00 0.00 40 Kernel#loop
    0.00 0.00 0.00 0.00 40/8124 Array#each
    0.00 0.00 0.00 0.00 40/280 String#split
    0.00 0.00 0.00 0.00 40/40 String#sub!
    0.00 0.00 0.00 0.00 40/44 IO#gets
    0.00 0.00 0.00 0.00 40/140 Picky::Tokenizer#tokenize 237
    0.00 0.00 0.00 0.00 100/140 Array#reject!
0.21% 0.08% 0.00 0.00 0.00 0.00 140 String#blank? 102
    0.00 0.00 0.00 0.00 140/540 Kernel#!~ 105
    0.00 0.00 0.00 0.00 140/140 String#encoding_aware? 104
    0.00 0.00 0.00 0.00 729/729 Picky::Category#bundle_for 55
0.18% 0.18% 0.00 0.00 0.00 0.00 729 Picky::Query::Token#partial? 95
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#pretokenize 272
0.18% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#reject 163
    0.00 0.00 0.00 0.00 40/40 Array#reject! 164
    0.00 0.00 0.00 0.00 4/744 CSV#init_separators 1985
    0.00 0.00 0.00 0.00 200/744 Array#each
    0.00 0.00 0.00 0.00 540/744 Kernel#!~
0.18% 0.18% 0.00 0.00 0.00 0.00 744 String#=~
    0.00 0.00 0.00 0.00 400/400 Picky::Category#weight 28
0.18% 0.18% 0.00 0.00 0.00 0.00 400 Picky::Bundle#weight 49
    0.00 0.00 0.00 0.00 329/729 Picky::Category#ids 36
    0.00 0.00 0.00 0.00 400/729 Picky::Category#weight 20
0.17% 0.17% 0.00 0.00 0.00 0.00 729 Picky::Query::Token#range 209
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#process 44
0.17% 0.06% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#partialize 110
    0.00 0.00 0.00 0.00 200/540 Kernel#!~ 112
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#process 45
0.16% 0.06% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#similarize 155
    0.00 0.00 0.00 0.00 200/540 Kernel#!~ 157
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#reject 164
0.16% 0.02% 0.00 0.00 0.00 0.00 40 Array#reject!
    0.00 0.00 0.00 0.00 100/140 String#blank?
    0.00 0.00 0.00 0.00 4/4 Searches#prepare 19
0.16% 0.01% 0.00 0.00 0.00 0.00 4 <Class::CSV>#open 1247
    0.00 0.00 0.00 0.00 8/4865 Class#new 1261
    0.00 0.00 0.00 0.00 4/4 <Class::IO>#open 1254
    0.00 0.00 0.00 0.00 4/9 Hash#merge 1252
    0.00 0.00 0.00 0.00 4/12 Kernel#block_given? 1264
    0.00 0.00 0.00 0.00 4/8 Kernel#is_a? 1249
    0.00 0.00 0.00 0.00 4/44 Array#last 1249
    0.00 0.00 0.00 0.00 329/329 Picky::Category#ids 48
0.15% 0.15% 0.00 0.00 0.00 0.00 329 Picky::Bundle#ids 26
    0.00 0.00 0.00 0.00 352/352 Class#new
0.15% 0.15% 0.00 0.00 0.00 0.00 352 Picky::Query::Combination#initialize 18
    0.00 0.00 0.00 0.00 100/100 Picky::Categories#possible_categories 54
0.15% 0.03% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#predefined_categories 67
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#extract_predefined 68
    0.00 0.00 0.00 0.00 4/4 Class#new
0.15% 0.03% 0.00 0.00 0.00 0.00 4 CSV#initialize 1483
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1510
    0.00 0.00 0.00 0.00 4/4 CSV#init_parsers 1511
    0.00 0.00 0.00 0.00 4/4 CSV#init_headers 1513
    0.00 0.00 0.00 0.00 4/8 CSV#init_converters 1512
    0.00 0.00 0.00 0.00 4/4 CSV#raw_encoding 1490
    0.00 0.00 0.00 0.00 4/9 Hash#merge 1485
    0.00 0.00 0.00 0.00 4/4 CSV#init_comments 1514
    0.00 0.00 0.00 0.00 8/96 String#encode 1507
    0.00 0.00 0.00 0.00 4/8 Kernel#is_a? 1488
    0.00 0.00 0.00 0.00 12/64 Hash#delete 1518
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#process 43
0.12% 0.10% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#qualify 263
    0.00 0.00 0.00 0.00 100/280 String#split 264
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#predefined_categories 68
0.12% 0.06% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#extract_predefined 70
    0.00 0.00 0.00 0.00 100/100 Picky::QualifierMapper#restrict 72
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#categorize_with 71
    0.00 0.00 0.00 0.00 80/80 Picky::Helpers::Measuring#timed 17
0.11% 0.04% 0.00 0.00 0.00 0.00 80 Time#to_f
    0.00 0.00 0.00 0.00 80/80 Numeric#quo
    0.00 0.00 0.00 0.00 80/80 Rational#to_f
    0.00 0.00 0.00 0.00 40/80 <Class::Picky::Query::Tokens>#processed 29
    0.00 0.00 0.00 0.00 40/80 Picky::Query::Indexes#expand_combinations_from 236
0.11% 0.11% 0.00 0.00 0.00 0.00 80 Array#zip
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#tokenize 240
0.09% 0.03% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#tokens_for 279
    0.00 0.00 0.00 0.00 40/120 Array#collect! 280
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#downcase? 280
    0.00 0.00 0.00 0.00 40/280 Kernel#loop
    0.00 0.00 0.00 0.00 100/280 Picky::Query::Token#qualify 264
    0.00 0.00 0.00 0.00 40/280 RegexpWrapper#split 8
    0.00 0.00 0.00 0.00 100/280 Array#collect!
0.09% 0.09% 0.00 0.00 0.00 0.00 280 String#split
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#process 47
0.08% 0.05% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#remove_illegals 221
    0.00 0.00 0.00 0.00 100/100 String#gsub! 224
    0.00 0.00 0.00 0.00 40/40 Picky::Search#tokenized 262
0.08% 0.03% 0.00 0.00 0.00 0.00 40 Picky::Query::Tokens#partialize_last 71
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Token#partial= 72
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Tokens#empty? 72
    0.00 0.00 0.00 0.00 40/44 Array#last 72
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#tokenize 236
0.08% 0.04% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#preprocess 251
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#remove_illegals 253
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#substitute_characters 252
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#remove_non_single_stopwords 259
    0.00 0.00 0.00 0.00 80/80 Picky::Helpers::Measuring#timed 17
0.07% 0.03% 0.00 0.00 0.00 0.00 80 <Class::Time>#now
    0.00 0.00 0.00 0.00 80/80 Time#initialize
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#pretokenize 270
0.06% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#split 108
    0.00 0.00 0.00 0.00 40/40 RegexpWrapper#split 109
    0.00 0.00 0.00 0.00 400/400 Class#new
0.06% 0.06% 0.00 0.00 0.00 0.00 400 Array#initialize
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#process 46
0.05% 0.04% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#rangify 204
    0.00 0.00 0.00 0.00 100/100 String#include? 205
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1510
0.05% 0.04% 0.00 0.00 0.00 0.00 4 CSV#init_separators 1948
    0.00 0.00 0.00 0.00 8/32 CSV#encode_str 2025
    0.00 0.00 0.00 0.00 4/20 CSV#encode_re 1985
    0.00 0.00 0.00 0.00 4/4 Array#include? 1964
    0.00 0.00 0.00 0.00 4/4 Numeric#nonzero? 1998
    0.00 0.00 0.00 0.00 4/4 String#== 2010
    0.00 0.00 0.00 0.00 8/48 Kernel#lambda 2029
    0.00 0.00 0.00 0.00 4/4 String#end_with? 1980
    0.00 0.00 0.00 0.00 4/744 String#=~ 1985
    0.00 0.00 0.00 0.00 4/44 IO#gets 1978
    0.00 0.00 0.00 0.00 4/4 IO#pos 1972
    0.00 0.00 0.00 0.00 4/4 IO#rewind 1992
    0.00 0.00 0.00 0.00 8/4992 Symbol#== 1973
    0.00 0.00 0.00 0.00 12/96 String#encode 2014
    0.00 0.00 0.00 0.00 12/52 String#to_s 2014
    0.00 0.00 0.00 0.00 16/64 Hash#delete 2017
    0.00 0.00 0.00 0.00 100/100 Class#new
0.05% 0.05% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#initialize 27
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#split 109
0.04% 0.01% 0.00 0.00 0.00 0.00 40 RegexpWrapper#split 7
    0.00 0.00 0.00 0.00 40/280 String#split 8
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Indexes#expand_combinations_from 186
0.04% 0.01% 0.00 0.00 0.00 0.00 40 Enumerable#any?
    0.00 0.00 0.00 0.00 40/8124 Array#each
    0.00 0.00 0.00 0.00 100/100 Picky::Categories#possible_categories 54
0.04% 0.03% 0.00 0.00 0.00 0.00 100 Picky::Categories#qualifier_mapper 42
    0.00 0.00 0.00 0.00 1/4865 Class#new 43
    0.00 0.00 0.00 0.00 80/80 Time#to_f
0.04% 0.02% 0.00 0.00 0.00 0.00 80 Numeric#quo
    0.00 0.00 0.00 0.00 80/80 Rational#/
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1511
0.04% 0.01% 0.00 0.00 0.00 0.00 4 CSV#init_parsers 2047
    0.00 0.00 0.00 0.00 16/20 CSV#encode_re 2055
    0.00 0.00 0.00 0.00 4/32 CSV#encode_str 2055
    0.00 0.00 0.00 0.00 8/8 CSV#escape_re 2054
    0.00 0.00 0.00 0.00 8/64 Hash#delete 2050
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#extract_predefined 72
0.04% 0.04% 0.00 0.00 0.00 0.00 100 Picky::QualifierMapper#restrict 38
    0.00 0.00 0.00 0.00 80/80 <Class::Time>#now
0.04% 0.02% 0.00 0.00 0.00 0.00 80 Time#initialize
    0.00 0.00 0.00 0.00 80/2003 Fixnum#+
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#remove_illegals 224
0.03% 0.03% 0.00 0.00 0.00 0.00 100 String#gsub!
    0.00 0.00 0.00 0.00 4/32 CSV#init_parsers 2055
    0.00 0.00 0.00 0.00 8/32 CSV#init_separators 2025
    0.00 0.00 0.00 0.00 20/32 CSV#encode_re 2247
0.03% 0.01% 0.00 0.00 0.00 0.00 32 CSV#encode_str 2254
    0.00 0.00 0.00 0.00 32/1959 Array#map 2255
    0.00 0.00 0.00 0.00 32/72 Array#join 2255
    0.00 0.00 0.00 0.00 80/80 Time#to_f
0.03% 0.02% 0.00 0.00 0.00 0.00 80 Rational#to_f
    0.00 0.00 0.00 0.00 80/80 Fixnum#fdiv
    0.00 0.00 0.00 0.00 140/140 String#blank? 104
0.03% 0.03% 0.00 0.00 0.00 0.00 140 String#encoding_aware? 3
    0.00 0.00 0.00 0.00 4/20 CSV#init_separators 1985
    0.00 0.00 0.00 0.00 16/20 CSV#init_parsers 2055
0.03% 0.00% 0.00 0.00 0.00 0.00 20 CSV#encode_re 2246
    0.00 0.00 0.00 0.00 20/32 CSV#encode_str 2247
    0.00 0.00 0.00 0.00 20/4865 Class#new 2247
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Tokens#partialize_last 72
0.03% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Query::Token#partial= 84
    0.00 0.00 0.00 0.00 40/48 NilClass#nil? 85
    0.00 0.00 0.00 0.00 100/100 Array#collect!
0.02% 0.02% 0.00 0.00 0.00 0.00 100 Array#*
    0.00 0.00 0.00 0.00 1/90 Picky::Tokenizer#splits_text_on 102
    0.00 0.00 0.00 0.00 4/90 CSV#raw_encoding 2265
    0.00 0.00 0.00 0.00 4/90 Picky::Search#terminate_early 110
    0.00 0.00 0.00 0.00 1/90 Global#[No method] 26
    0.00 0.00 0.00 0.00 80/90 Array#each
0.02% 0.02% 0.00 0.00 0.00 0.00 90 Kernel#respond_to?
    0.00 0.00 0.00 0.00 86/90 Kernel#respond_to_missing?
    0.00 0.00 0.00 0.00 40/40 Class#new
0.02% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Results#initialize 18
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#extract_predefined 71
0.02% 0.02% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#categorize_with 74
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#possible_combinations 238
0.02% 0.02% 0.00 0.00 0.00 0.00 100 Picky::Query::Token#similar? 215
    0.00 0.00 0.00 0.00 40/40 Picky::Query::Tokens#partialize_last 72
0.02% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Query::Tokens#empty? 1
    0.00 0.00 0.00 0.00 40/3957 Array#empty? 1
    0.00 0.00 0.00 0.00 80/80 Numeric#quo
0.02% 0.02% 0.00 0.00 0.00 0.00 80 Rational#/
    0.00 0.00 0.00 0.00 4/8 CSV#init_headers 2116
    0.00 0.00 0.00 0.00 4/8 CSV#initialize 1512
0.02% 0.02% 0.00 0.00 0.00 0.00 8 CSV#init_converters 2078
    0.00 0.00 0.00 0.00 8/48 NilClass#nil? 2089
    0.00 0.00 0.00 0.00 8/8 Kernel#method 2086
    0.00 0.00 0.00 0.00 8/8 String#sub 2086
    0.00 0.00 0.00 0.00 8/8 Kernel#instance_variable_set 2083
    0.00 0.00 0.00 0.00 8/4865 Class#new 2083
    0.00 0.00 0.00 0.00 16/16 Symbol#to_s 2086
    0.00 0.00 0.00 0.00 12/64 Hash#delete 2104
    0.00 0.00 0.00 0.00 8/4992 Symbol#== 2079
    0.00 0.00 0.00 0.00 4/4 Class#new
0.02% 0.01% 0.00 0.00 0.00 0.00 4 Picky::Search#initialize 40
    0.00 0.00 0.00 0.00 4/4 <Class::Picky::Tokenizer>#searching 45
    0.00 0.00 0.00 0.00 4/12 Kernel#block_given? 43
    0.00 0.00 0.00 0.00 8/4865 Class#new 46
    0.00 0.00 0.00 0.00 40/40 Class#new
0.02% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Query::Tokens#initialize 21
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#preprocess 253
0.02% 0.02% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#remove_illegals 89
    0.00 0.00 0.00 0.00 100/100 Picky::Query::Token#rangify 205
0.02% 0.02% 0.00 0.00 0.00 0.00 100 String#include?
    0.00 0.00 0.00 0.00 1/1 Class#new
0.01% 0.00% 0.00 0.00 0.00 0.00 1 Picky::QualifierMapper#initialize 11
    0.00 0.00 0.00 0.00 1/1 Picky::Categories#each 13
    0.00 0.00 0.00 0.00 1/1 Picky::QualifierMapper#initialize 13
0.01% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Categories#each 1
    0.00 0.00 0.00 0.00 1/8124 Array#each 1
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#preprocess 252
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#substitute_characters 145
    0.00 0.00 0.00 0.00 100/100 Array#collect!
0.01% 0.01% 0.00 0.00 0.00 0.00 100 String#downcase!
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#pretokenize 271
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#normalize_with_patterns? 134
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#tokens_for 280
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#downcase? 174
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1513
0.01% 0.00% 0.00 0.00 0.00 0.00 4 CSV#init_headers 2108
    0.00 0.00 0.00 0.00 4/8 CSV#init_converters 2116
    0.00 0.00 0.00 0.00 12/64 Hash#delete 2111
    0.00 0.00 0.00 0.00 40/40 Picky::Search#search_with 229
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Float#round
    0.00 0.00 0.00 0.00 40/40 CSV#each 23
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Integer#times
    0.00 0.00 0.00 0.00 60/140 Array#shift
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#pretokenize 273
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#cap? 187
    0.00 0.00 0.00 0.00 80/80 Rational#to_f
0.01% 0.01% 0.00 0.00 0.00 0.00 80 Fixnum#fdiv
    0.00 0.00 0.00 0.00 4/4 Array#each
0.01% 0.00% 0.00 0.00 0.00 0.00 4 Picky::QualifierMapper#add 18
    0.00 0.00 0.00 0.00 4/4 Picky::Category#qualifiers 19
    0.00 0.00 0.00 0.00 4/8124 Array#each 19
    0.00 0.00 0.00 0.00 40/40 Picky::Tokenizer#preprocess 259
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Picky::Tokenizer#remove_non_single_stopwords 74
    0.00 0.00 0.00 0.00 40/40 Class#new
0.01% 0.01% 0.00 0.00 0.00 0.00 40 Picky::Query::Allocations#initialize 25
    0.00 0.00 0.00 0.00 80/80 Picky::Search#search 216
0.01% 0.01% 0.00 0.00 0.00 0.00 80 Integer#to_i
    0.00 0.00 0.00 0.00 8/48 CSV#init_separators 2029
    0.00 0.00 0.00 0.00 40/48 Picky::Helpers::Measuring#timed 11
0.01% 0.01% 0.00 0.00 0.00 0.00 48 Kernel#lambda
    0.00 0.00 0.00 0.00 4/90 String#==
    0.00 0.00 0.00 0.00 86/90 Kernel#respond_to?
0.01% 0.01% 0.00 0.00 0.00 0.00 90 Kernel#respond_to_missing?
    0.00 0.00 0.00 0.00 40/140 CSV#each 26
    0.00 0.00 0.00 0.00 60/140 Integer#times
    0.00 0.00 0.00 0.00 40/140 Picky::Query::Indexes#expand_combinations_from 236
0.01% 0.01% 0.00 0.00 0.00 0.00 140 Array#shift
    0.00 0.00 0.00 0.00 8/49 <Class::Picky::Query::Indexes::Check>#check_backends 23
    0.00 0.00 0.00 0.00 1/49 Picky::Tokenizer#default_options 226
    0.00 0.00 0.00 0.00 40/49 Picky::Query::Indexes#expand_combinations_from 186
0.01% 0.01% 0.00 0.00 0.00 0.00 49 Symbol#to_proc
    0.00 0.00 0.00 0.00 12/52 CSV#init_separators 2014
    0.00 0.00 0.00 0.00 40/52 Picky::Tokenizer#tokenize 236
0.01% 0.01% 0.00 0.00 0.00 0.00 52 String#to_s
    0.00 0.00 0.00 0.00 4/4 Class#new
0.01% 0.00% 0.00 0.00 0.00 0.00 4 Picky::Query::Indexes#initialize 28
    0.00 0.00 0.00 0.00 4/4 <Class::Picky::Query::Indexes::Check>#check_backends 29
    0.00 0.00 0.00 0.00 8/48 CSV#init_converters 2089
    0.00 0.00 0.00 0.00 40/48 Picky::Query::Token#partial= 85
0.01% 0.01% 0.00 0.00 0.00 0.00 48 NilClass#nil?
    0.00 0.00 0.00 0.00 4/4 Picky::Query::Indexes#initialize 29
0.00% 0.00% 0.00 0.00 0.00 0.00 4 <Class::Picky::Query::Indexes::Check>#check_backends 21
    0.00 0.00 0.00 0.00 4/1959 Array#map 22
    0.00 0.00 0.00 0.00 4/4 Array#uniq! 23
    0.00 0.00 0.00 0.00 8/49 Symbol#to_proc 23
    0.00 0.00 0.00 0.00 4/44 <Class::CSV>#open 1249
    0.00 0.00 0.00 0.00 40/44 Picky::Query::Tokens#partialize_last 72
0.00% 0.00% 0.00 0.00 0.00 0.00 44 Array#last
    0.00 0.00 0.00 0.00 4/4 Picky::Search#initialize 45
0.00% 0.00% 0.00 0.00 0.00 0.00 4 <Class::Picky::Tokenizer>#searching 23
    0.00 0.00 0.00 0.00 1/4865 Class#new 24
    0.00 0.00 0.00 0.00 1/1 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#initialize 201
    0.00 0.00 0.00 0.00 1/1 Hash#each 203
    0.00 0.00 0.00 0.00 1/9 Hash#merge 202
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#default_options 202
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1490
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#raw_encoding 2264
    0.00 0.00 0.00 0.00 4/4 IO#external_encoding 2266
    0.00 0.00 0.00 0.00 4/4 IO#internal_encoding 2266
    0.00 0.00 0.00 0.00 4/90 Kernel#respond_to? 2265
    0.00 0.00 0.00 0.00 1/9 Picky::Tokenizer#initialize 202
    0.00 0.00 0.00 0.00 4/9 <Class::CSV>#open 1252
    0.00 0.00 0.00 0.00 4/9 CSV#initialize 1485
0.00% 0.00% 0.00 0.00 0.00 0.00 9 Hash#merge
    0.00 0.00 0.00 0.00 9/9 Kernel#initialize_dup
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize 203
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Hash#each
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#splits_text_on
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#rejects_token_if
    0.00 0.00 0.00 0.00 2/2 Kernel#nil?
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1964
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Array#include?
    0.00 0.00 0.00 0.00 16/16 BasicObject#==
    0.00 0.00 0.00 0.00 4/4 Picky::QualifierMapper#add 19
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Picky::Category#qualifiers 152
    0.00 0.00 0.00 0.00 1/1 Global#[No method] 30
0.00% 0.00% 0.00 0.00 0.00 0.00 1 <Class::Searches>#series_for 3
    0.00 0.00 0.00 0.00 1/1 Enumerable#map 4
    0.00 0.00 0.00 0.00 1/1 Enumerable#map
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Range#each
    0.00 0.00 0.00 0.00 4/4865 Class#new
    0.00 0.00 0.00 0.00 1/1 <Class::Searches>#series_for 4
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Enumerable#map
    0.00 0.00 0.00 0.00 1/1 Range#each
    0.00 0.00 0.00 0.00 4/4 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Picky::Search#terminate_early 109
    0.00 0.00 0.00 0.00 4/90 Kernel#respond_to? 110
    0.00 0.00 0.00 0.00 9/9 Hash#merge
0.00% 0.00% 0.00 0.00 0.00 0.00 9 Kernel#initialize_dup
    0.00 0.00 0.00 0.00 9/9 Hash#initialize_copy
    0.00 0.00 0.00 0.00 1/1 Hash#each
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#splits_text_on 100
    0.00 0.00 0.00 0.00 1/4865 Class#new 105
    0.00 0.00 0.00 0.00 1/90 Kernel#respond_to? 102
    0.00 0.00 0.00 0.00 1/1 Module#=== 101
    0.00 0.00 0.00 0.00 4/4 <Class::CSV>#open 1254
0.00% 0.00% 0.00 0.00 0.00 0.00 4 <Class::IO>#open
    0.00 0.00 0.00 0.00 4/4 File#initialize
    0.00 0.00 0.00 0.00 8/8 CSV#init_parsers 2054
0.00% 0.00% 0.00 0.00 0.00 0.00 8 CSV#escape_re 2238
    0.00 0.00 0.00 0.00 8/8 String#gsub 2239
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1998
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Numeric#nonzero?
    0.00 0.00 0.00 0.00 4/1937 Fixnum#zero?
    0.00 0.00 0.00 0.00 4/4 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Hash#[]=
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1514
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#init_comments 2124
    0.00 0.00 0.00 0.00 4/64 Hash#delete 2125
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 2010
0.00% 0.00% 0.00 0.00 0.00 0.00 4 String#==
    0.00 0.00 0.00 0.00 4/90 Kernel#respond_to_missing?
    0.00 0.00 0.00 0.00 4/4 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Symbol#intern
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize 202
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#default_options 222
    0.00 0.00 0.00 0.00 1/49 Symbol#to_proc 226
    0.00 0.00 0.00 0.00 4/4 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Hash#has_key?
    0.00 0.00 0.00 0.00 16/64 CSV#init_separators 2017
    0.00 0.00 0.00 0.00 8/64 CSV#init_parsers 2050
    0.00 0.00 0.00 0.00 12/64 CSV#init_converters 2104
    0.00 0.00 0.00 0.00 12/64 CSV#init_headers 2111
    0.00 0.00 0.00 0.00 4/64 CSV#init_comments 2125
    0.00 0.00 0.00 0.00 12/64 CSV#initialize 1518
0.00% 0.00% 0.00 0.00 0.00 0.00 64 Hash#delete
    0.00 0.00 0.00 0.00 4/44 CSV#init_separators 1978
    0.00 0.00 0.00 0.00 40/44 Kernel#loop
0.00% 0.00% 0.00 0.00 0.00 0.00 44 IO#gets
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1972
0.00% 0.00% 0.00 0.00 0.00 0.00 4 IO#pos
    0.00 0.00 0.00 0.00 16/16 Array#include?
0.00% 0.00% 0.00 0.00 0.00 0.00 16 BasicObject#==
    0.00 0.00 0.00 0.00 200/200 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 200 String#[]
    0.00 0.00 0.00 0.00 4/4 <Class::Picky::Query::Indexes::Check>#check_backends 23
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Array#uniq!
    0.00 0.00 0.00 0.00 76/76 Array#map
0.00% 0.00% 0.00 0.00 0.00 0.00 76 Encoding#name
    0.00 0.00 0.00 0.00 40/40 CSV#each 21
0.00% 0.00% 0.00 0.00 0.00 0.00 40 Array#first
    0.00 0.00 0.00 0.00 8/8 CSV#init_converters 2083
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Kernel#instance_variable_set
    0.00 0.00 0.00 0.00 8/96 CSV#initialize 1507
    0.00 0.00 0.00 0.00 12/96 CSV#init_separators 2014
    0.00 0.00 0.00 0.00 76/96 Array#map
0.00% 0.00% 0.00 0.00 0.00 0.00 96 String#encode
    0.00 0.00 0.00 0.00 4/4 CSV#raw_encoding 2266
0.00% 0.00% 0.00 0.00 0.00 0.00 4 IO#external_encoding
    0.00 0.00 0.00 0.00 4/4 CSV#raw_encoding 2266
0.00% 0.00% 0.00 0.00 0.00 0.00 4 IO#internal_encoding
    0.00 0.00 0.00 0.00 2/2 Hash#each
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Kernel#nil?
    0.00 0.00 0.00 0.00 32/72 CSV#encode_str 2255
    0.00 0.00 0.00 0.00 40/72 CSV#each 27
0.00% 0.00% 0.00 0.00 0.00 0.00 72 Array#join
    0.00 0.00 0.00 0.00 4/4 <Class::IO>#open
0.00% 0.00% 0.00 0.00 0.00 0.00 4 File#initialize
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1980
0.00% 0.00% 0.00 0.00 0.00 0.00 4 String#end_with?
    0.00 0.00 0.00 0.00 9/9 Kernel#initialize_dup
0.00% 0.00% 0.00 0.00 0.00 0.00 9 Hash#initialize_copy
    0.00 0.00 0.00 0.00 40/40 Kernel#loop
0.00% 0.00% 0.00 0.00 0.00 0.00 40 String#sub!
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#splits_text_on 101
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Module#===
    0.00 0.00 0.00 0.00 4/4 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Hash#initialize
    0.00 0.00 0.00 0.00 4/8 <Class::CSV>#open 1249
    0.00 0.00 0.00 0.00 4/8 CSV#initialize 1488
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Kernel#is_a?
    0.00 0.00 0.00 0.00 1/1 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 1 RegexpWrapper#initialize 3
    0.00 0.00 0.00 0.00 1/1 Hash#each
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#rejects_token_if 160
    0.00 0.00 0.00 0.00 4/4 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Picky::Query::Boosts#initialize 34
    0.00 0.00 0.00 0.00 20/20 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 20 Regexp#initialize
    0.00 0.00 0.00 0.00 4/4 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Searches#initialize 7
    0.00 0.00 0.00 0.00 40/40 CSV#shift 1758
0.00% 0.00% 0.00 0.00 0.00 0.00 40 CSV#header_row? 1740
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1992
0.00% 0.00% 0.00 0.00 0.00 0.00 4 IO#rewind
    0.00 0.00 0.00 0.00 4/12 <Class::CSV>#open 1264
    0.00 0.00 0.00 0.00 4/12 CSV#each 1715
    0.00 0.00 0.00 0.00 4/12 Picky::Search#initialize 43
0.00% 0.00% 0.00 0.00 0.00 0.00 12 Kernel#block_given?
    0.00 0.00 0.00 0.00 8/8 CSV#init_converters 2086
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Kernel#method
    0.00 0.00 0.00 0.00 8/8 CSV#escape_re 2239
0.00% 0.00% 0.00 0.00 0.00 0.00 8 String#gsub
    0.00 0.00 0.00 0.00 8/8 CSV#init_converters 2086
0.00% 0.00% 0.00 0.00 0.00 0.00 8 String#sub
    0.00 0.00 0.00 0.00 16/16 CSV#init_converters 2086
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Symbol#to_s
* indicates recursively called methods