Profile Report

Thread ID Total Time
70155623419200 8.278201000000019

Thread 70155623419200

%Total %Self Total Self Wait Child Calls Name Line
100.00% 0.00% 8.28 0.00 0.00 8.28 1 Global#[No method] 57
    8.28 0.00 0.00 8.28 1/160361 Array#each 61
    0.00 0.00 0.00 0.00 4/4 Proc#[] 61
    8.28 0.00 0.00 8.28 4/4 Array#each
100.00% 0.00% 8.28 0.00 0.00 8.28 4 Searches#each 23
    0.00 0.00 0.00 0.00 4/160361 Array#each 24
    0.00 0.00 0.00 0.00 26954/160361 Enumerable#sort_by
    0.00 0.00 0.00 0.00 4000/160361 Kernel#loop
    0.00 0.00 0.00 0.00 4/160361 Picky::Query::QualifierCategoryMapper#initialize 17
    0.00 0.00 0.00 0.00 4/160361 Picky::Categories#each_category 11
    0.00 0.00 0.00 0.00 16/160361 Picky::Query::QualifierCategoryMapper#add 27
    0.00 0.00 0.00 0.00 4/160361 Searches#each 24
    0.00 0.00 0.00 0.00 4000/160361 Picky::Query::Allocations#each 17
    0.00 0.00 0.00 0.00 113378/160361 Enumerable#inject
    0.00 0.00 0.00 0.00 4000/160361 Enumerable#any?
    0.00 0.00 0.00 0.00 4000/160361 Picky::Query::Allocations#calculate_score 32
    0.00 0.00 0.00 0.00 4000/160361 Picky::Query::Tokens#categorize 69
    8.28 0.00 0.00 8.28 1/160361 Global#[No method] 61
100.00% 0.00% 8.28 0.00 0.00 8.28 160361 *Array#each
    8.28 0.00 0.00 8.28 4/4 Searches#each
    8.22 0.02 0.00 8.20 4000/4000 Picky::Search#search
    2.10 0.17 0.00 1.93 27212/27212 Picky::Query::Allocation#calculate_score
    1.72 0.02 0.00 1.71 4000/4000 Picky::Query::Indexes#allocation_for
    1.44 0.11 0.00 1.33 26954/26954 Picky::Query::Allocation#process!
    0.80 0.02 0.00 0.78 10000/10000 Picky::Query::Token#possible_combinations_in
    0.55 0.09 0.00 0.46 40000/40000 Picky::Category#combination_for
    0.32 0.15 0.00 0.18 86269/86269 Picky::Query::Combination#ids
    0.09 0.02 0.00 0.07 10000/10000 Picky::Query::Token#categorize
    0.09 0.04 0.00 0.05 20000/120473 Class#new
    0.06 0.06 0.00 0.00 59315/86527 Float#+
    0.06 0.06 0.00 0.00 59315/59331 Symbol#==
    0.04 0.04 0.00 0.00 36954/115120 Array#empty?
    0.02 0.02 0.00 0.00 21953/31957 Fixnum#zero?
    0.00 0.00 0.00 0.00 16/16 Picky::Query::QualifierCategoryMapper#add
    0.00 0.00 0.00 0.00 16/16 Symbol#intern
    0.00 0.00 0.00 0.00 4/4 Picky::Index#each_category
    0.00 0.00 0.00 0.00 20000/24000 String#empty?
    0.00 0.00 0.00 0.00 20000/84004 String#=~
    0.00 0.00 0.00 0.00 20000/20000 String#[]
    0.00 0.00 0.00 0.00 16/16 Hash#has_key?
    0.00 0.00 0.00 0.00 4/4 Picky::Search#terminate_early
    0.00 0.00 0.00 0.00 16/16 Hash#[]=
    0.00 0.00 0.00 0.00 4/4 Searches#prepare
    8.22 0.02 0.00 8.20 4000/4000 Array#each
99.26% 0.21% 8.22 0.02 0.00 8.20 4000 Picky::Search#search 180
    7.12 0.02 0.00 7.10 4000/4000 Picky::Search#search_with 181
    1.07 0.02 0.00 1.05 4000/4000 Picky::Search#tokenized 181
    0.01 0.01 0.00 0.00 8000/8000 Integer#to_i 181
    7.12 0.02 0.00 7.10 4000/4000 Picky::Search#search 181
86.06% 0.26% 7.12 0.02 0.00 7.10 4000 Picky::Search#search_with 188
    7.10 0.03 0.00 7.07 4000/4000 Picky::Helpers::Measuring#timed 191
    0.01 0.01 0.00 0.00 4000/4000 Float#round 194
    7.10 0.03 0.00 7.07 4000/4000 Picky::Search#search_with 191
85.72% 0.33% 7.10 0.03 0.00 7.07 4000 Picky::Helpers::Measuring#timed 10
    6.94 0.01 0.00 6.92 4000/4000 Proc#call 15
    0.07 0.03 0.00 0.05 8000/8000 Time#to_f 17
    0.05 0.02 0.00 0.03 8000/8000 <Class::Time>#now 17
    0.00 0.00 0.00 0.00 4000/4008 Kernel#lambda 11
    6.94 0.01 0.00 6.92 4000/4000 Picky::Helpers::Measuring#timed 15
83.78% 0.13% 6.94 0.01 0.00 6.92 4000 Proc#call
    6.92 0.01 0.00 6.91 4000/4000 Picky::Search#execute
    6.92 0.01 0.00 6.91 4000/4000 Proc#call
83.65% 0.15% 6.92 0.01 0.00 6.91 4000 Picky::Search#execute 203
    5.24 0.01 0.00 5.23 4000/4000 Picky::Search#sorted_allocations 204
    1.68 0.01 0.00 1.66 4000/4000 <Class::Picky::Results>#from 204
    5.24 0.01 0.00 5.23 4000/4000 Picky::Search#execute 204
63.25% 0.12% 5.24 0.01 0.00 5.23 4000 Picky::Search#sorted_allocations 230
    5.23 0.03 0.00 5.20 4000/4000 Picky::Query::Indexes#prepared_allocations_for 231
    5.23 0.03 0.00 5.20 4000/4000 Picky::Search#sorted_allocations 231
63.14% 0.35% 5.23 0.03 0.00 5.20 4000 Picky::Query::Indexes#prepared_allocations_for 62
    2.15 0.01 0.00 2.14 4000/4000 Picky::Query::Allocations#calculate_score 71
    1.91 0.02 0.00 1.89 4000/4000 Picky::Query::Indexes#allocations_for 63
    0.90 0.01 0.00 0.89 4000/4000 Picky::Query::Allocations#uniq 67
    0.25 0.01 0.00 0.24 4000/4000 Picky::Query::Allocations#sort! 76
    0.00 0.00 0.00 0.00 10000/113378 Array#collect!
    0.00 0.00 0.00 0.00 4000/113378 Picky::Query::Tokens#possible_combinations_in 38
    0.00 0.00 0.00 0.00 10000/113378 Picky::Categories#possible_for 50
    0.00 0.00 0.00 0.00 4000/113378 Picky::Query::Indexes#expand_combinations_from 180
    0.18 0.05 0.00 0.13 27212/113378 Enumerable#sum 62
    0.28 0.05 0.00 0.23 27212/113378 Array#clustered_uniq_fast 21
    0.52 0.05 0.00 0.47 26954/113378 Picky::Query::Combinations#inject 17
    1.74 0.01 0.00 1.74 4000/113378 Picky::Query::Indexes#allocations_ary_for 96
32.83% 1.83% 2.72 0.15 0.00 2.57 113378 *Enumerable#inject
    0.00 0.00 0.00 0.00 113378/160361 Array#each
    2.15 0.01 0.00 2.14 4000/4000 Picky::Query::Indexes#prepared_allocations_for 71
25.96% 0.10% 2.15 0.01 0.00 2.14 4000 Picky::Query::Allocations#calculate_score 31
    0.00 0.00 0.00 0.00 4000/160361 Array#each 32
    2.10 0.17 0.00 1.93 27212/27212 Array#each
25.35% 2.04% 2.10 0.17 0.00 1.93 27212 Picky::Query::Allocation#calculate_score 44
    0.98 0.05 0.00 0.93 27212/27212 Picky::Backends::Backend#weight 49
    0.83 0.05 0.00 0.77 27212/27212 Picky::Query::Combinations#boost_for 49
    0.09 0.06 0.00 0.03 27212/54166 Picky::Query::Combinations#empty? 50
    0.03 0.03 0.00 0.00 27212/86527 Float#+ 49
    1.91 0.02 0.00 1.89 4000/4000 Picky::Query::Indexes#prepared_allocations_for 63
23.03% 0.19% 1.91 0.02 0.00 1.89 4000 Picky::Query::Indexes#allocations_for 90
    1.75 0.01 0.00 1.74 4000/4000 Picky::Query::Indexes#allocations_ary_for 93
    0.12 0.01 0.00 0.11 4000/4000 Picky::Query::Tokens#categorize 91
    0.02 0.01 0.00 0.01 4000/120473 Class#new 93
    1.75 0.01 0.00 1.74 4000/4000 Picky::Query::Indexes#allocations_for 93
21.18% 0.11% 1.75 0.01 0.00 1.74 4000 Picky::Query::Indexes#allocations_ary_for 95
    1.74 0.01 0.00 1.74 4000/113378 Enumerable#inject 96
    1.72 0.02 0.00 1.71 4000/4000 Array#each
20.82% 0.21% 1.72 0.02 0.00 1.71 4000 Picky::Query::Indexes#allocation_for 100
    0.85 0.01 0.00 0.84 4000/4000 Picky::Query::Tokens#possible_combinations_in 103
    0.49 0.05 0.00 0.43 4000/4000 Array#map! 111
    0.37 0.04 0.00 0.34 4000/4000 Picky::Query::Indexes#expand_combinations_from 107
    1.68 0.01 0.00 1.66 4000/4000 Picky::Search#execute 204
20.24% 0.18% 1.68 0.01 0.00 1.66 4000 <Class::Picky::Results>#from 27
    1.63 0.01 0.00 1.62 4000/4000 Picky::Results#prepare! 29
    0.03 0.01 0.00 0.02 4000/120473 Class#new 28
    1.63 0.01 0.00 1.62 4000/4000 <Class::Picky::Results>#from 29
19.71% 0.14% 1.63 0.01 0.00 1.62 4000 Picky::Results#prepare! 38
    1.62 0.01 0.00 1.61 4000/4000 Picky::Query::Allocations#process! 41
    1.62 0.01 0.00 1.61 4000/4000 Picky::Results#prepare! 41
19.57% 0.14% 1.62 0.01 0.00 1.61 4000 Picky::Query::Allocations#process! 83
    1.61 0.01 0.00 1.60 4000/4000 Picky::Query::Allocations#each 84
    1.61 0.01 0.00 1.60 4000/4000 Picky::Query::Allocations#process! 84
19.43% 0.11% 1.61 0.01 0.00 1.60 4000 Picky::Query::Allocations#each 16
    0.00 0.00 0.00 0.00 4000/160361 Array#each 17
    1.44 0.11 0.00 1.33 26954/26954 Array#each
17.37% 1.30% 1.44 0.11 0.00 1.33 26954 Picky::Query::Allocation#process! 76
    1.30 0.10 0.00 1.20 26954/26954 Picky::Query::Allocation#calculate_ids 77
    0.03 0.03 0.00 0.00 26954/26954 Array#slice! 79
    1.30 0.10 0.00 1.20 26954/26954 Picky::Query::Allocation#process! 77
15.68% 1.21% 1.30 0.10 0.00 1.20 26954 Picky::Query::Allocation#calculate_ids 57
    1.11 0.13 0.00 0.98 26954/26954 Picky::Backends::Backend#ids 59
    0.08 0.06 0.00 0.03 26954/54166 Picky::Query::Combinations#empty? 58
    1.11 0.13 0.00 0.98 26954/26954 Picky::Query::Allocation#calculate_ids 59
13.46% 1.57% 1.11 0.13 0.00 0.98 26954 Picky::Backends::Backend#ids 32
    0.57 0.06 0.00 0.52 26954/26954 Picky::Query::Combinations#inject 35
    0.41 0.11 0.00 0.31 26954/26954 <Class::Performant::Array>#memory_efficient_intersect 43
    1.07 0.02 0.00 1.05 4000/4000 Picky::Search#search 181
12.90% 0.27% 1.07 0.02 0.00 1.05 4000 Picky::Search#tokenized 220
    0.64 0.01 0.00 0.63 4000/4000 <Class::Picky::Query::Tokens>#processed 222
    0.35 0.03 0.00 0.32 4000/4000 Picky::Tokenizer#tokenize 221
    0.05 0.02 0.00 0.03 4000/4000 Picky::Query::Tokens#partialize_last 224
    0.98 0.05 0.00 0.93 27212/27212 Picky::Query::Allocation#calculate_score 49
11.88% 0.65% 0.98 0.05 0.00 0.93 27212 Picky::Backends::Backend#weight 13
    0.93 0.07 0.00 0.86 27212/27212 Picky::Query::Combinations#score 14
    0.93 0.07 0.00 0.86 27212/27212 Picky::Backends::Backend#weight 14
11.23% 0.90% 0.93 0.07 0.00 0.86 27212 Picky::Query::Combinations#score 29
    0.83 0.10 0.00 0.73 27212/54424 Enumerable#sum 30
    0.03 0.03 0.00 0.00 27212/58433 Symbol#to_proc 30
    0.90 0.01 0.00 0.89 4000/4000 Picky::Query::Indexes#prepared_allocations_for 67
10.83% 0.10% 0.90 0.01 0.00 0.89 4000 Picky::Query::Allocations#uniq 141
    0.89 0.05 0.00 0.83 4000/4004 Array#uniq! 142
    0.00 0.00 0.00 0.00 4/4004 <Class::Picky::Query::IndexesCheck>#check_backends 19
    0.89 0.05 0.00 0.83 4000/4004 Picky::Query::Allocations#uniq 142
10.73% 0.64% 0.89 0.05 0.00 0.83 4004 Array#uniq!
    0.83 0.05 0.00 0.78 26225/26225 Picky::Query::Allocation#hash
    0.03 0.02 0.00 0.01 4000/12000 Picky::Tokenizer#tokens_for 225
    0.22 0.05 0.00 0.17 4000/12000 Picky::Query::Indexes#expand_combinations_from 189
    0.60 0.02 0.00 0.58 4000/12000 <Class::Picky::Query::Tokens>#processed 27
10.32% 1.13% 0.85 0.09 0.00 0.76 12000 Array#collect!
    0.58 0.03 0.00 0.55 10000/10000 <Class::Picky::Query::Token>#processed
    0.01 0.01 0.00 0.00 10000/10000 Array#*
    0.01 0.01 0.00 0.00 10000/10000 String#downcase!
    0.01 0.01 0.00 0.00 10000/31957 Fixnum#zero?
    0.00 0.00 0.00 0.00 10000/113378 Enumerable#inject
    0.85 0.01 0.00 0.84 4000/4000 Picky::Query::Indexes#allocation_for 103
10.24% 0.10% 0.85 0.01 0.00 0.84 4000 Picky::Query::Tokens#possible_combinations_in 37
    0.00 0.00 0.00 0.00 4000/113378 Enumerable#inject 38
    0.83 0.05 0.00 0.78 26225/26225 Array#uniq!
10.09% 0.66% 0.83 0.05 0.00 0.78 26225 Picky::Query::Allocation#hash 32
    0.78 0.05 0.00 0.73 26225/26225 Picky::Query::Combinations#hash 33
    0.83 0.05 0.00 0.77 27212/27212 Picky::Query::Allocation#calculate_score 49
10.01% 0.66% 0.83 0.05 0.00 0.77 27212 Picky::Query::Combinations#boost_for 32
    0.77 0.09 0.00 0.69 27212/27212 Picky::Query::Boosts#boost_for 33
    0.00 0.00 0.00 0.00 27212/54424 Enumerable#sum 60
    0.83 0.10 0.00 0.73 27212/54424 Picky::Query::Combinations#score 30
9.98% 1.19% 0.83 0.10 0.00 0.73 54424 *Enumerable#sum 58
    0.41 0.09 0.00 0.32 27212/54460 Array#map 60
    0.18 0.05 0.00 0.13 27212/113378 Enumerable#inject 62
    0.06 0.06 0.00 0.00 54424/54436 Kernel#block_given? 59
    0.00 0.00 0.00 0.00 27212/54424 Enumerable#sum 60
    0.80 0.02 0.00 0.78 10000/10000 Array#each
9.68% 0.27% 0.80 0.02 0.00 0.78 10000 Picky::Query::Token#possible_combinations_in 206
    0.78 0.02 0.00 0.76 10000/10000 Picky::Index#possible_combinations 207
    0.78 0.05 0.00 0.73 26225/26225 Picky::Query::Allocation#hash 33
9.42% 0.61% 0.78 0.05 0.00 0.73 26225 Picky::Query::Combinations#hash 25
    0.73 0.13 0.00 0.60 26225/110956 Array#hash 26
    0.78 0.02 0.00 0.76 10000/10000 Picky::Query::Token#possible_combinations_in 207
9.41% 0.28% 0.78 0.02 0.00 0.76 10000 Picky::Index#possible_combinations 6
    0.76 0.03 0.00 0.72 10000/10000 Picky::Categories#possible_combinations 7
    0.77 0.09 0.00 0.69 27212/27212 Picky::Query::Combinations#boost_for 33
9.35% 1.06% 0.77 0.09 0.00 0.69 27212 Picky::Query::Boosts#boost_for 63
    0.42 0.06 0.00 0.37 27212/27212 Picky::Query::Boosts#boost_for_categories 64
    0.23 0.09 0.00 0.14 27212/54460 Array#map 64
    0.03 0.03 0.00 0.00 27212/58433 Symbol#to_proc 64
    0.00 0.00 0.00 0.00 4/120473 Proc#[]
    0.00 0.00 0.00 0.00 8/120473 <Class::CSV>#open 1349
    0.00 0.00 0.00 0.00 20/120473 CSV#encode_re 2309
    0.00 0.00 0.00 0.00 8/120473 CSV#init_converters 2156
    0.00 0.00 0.00 0.00 4000/120473 CSV#shift 1847
    0.00 0.00 0.00 0.00 1/120473 <Class::Picky::Tokenizer>#searching 24
    0.00 0.00 0.00 0.00 8/120473 Picky::Search#initialize 47
    0.00 0.00 0.00 0.00 4/120473 Picky::Query::Indexes#initialize 29
    0.02 0.01 0.00 0.01 4000/120473 Picky::Query::Indexes#allocations_for 93
    0.02 0.01 0.00 0.01 4000/120473 <Class::Picky::Query::Tokens>#processed 27
    0.03 0.01 0.00 0.02 4000/120473 <Class::Picky::Results>#from 28
    0.06 0.02 0.00 0.04 10000/120473 <Class::Picky::Query::Token>#processed 39
    0.09 0.04 0.00 0.05 20000/120473 Array#each
    0.11 0.05 0.00 0.06 19996/120473 Picky::Category#combination_for 38
    0.43 0.12 0.00 0.31 54424/120473 Array#map!
9.27% 3.14% 0.77 0.26 0.00 0.51 120473 *Class#new
    0.21 0.10 0.00 0.11 27212/27212 Picky::Query::Allocation#initialize
    0.11 0.11 0.00 0.00 96445/96445 <Class::BasicObject>#allocate
    0.04 0.04 0.00 0.00 27212/27212 Picky::Query::Combinations#initialize
    0.04 0.04 0.00 0.00 19996/19996 Picky::Query::Combination#initialize
    0.03 0.03 0.00 0.00 10000/10000 Picky::Query::Token#initialize
    0.02 0.02 0.00 0.00 24004/24004 Array#initialize
    0.02 0.02 0.00 0.00 24004/24004 <Class::Array>#allocate
    0.01 0.01 0.00 0.00 4000/4000 Picky::Results#initialize
    0.01 0.01 0.00 0.00 4000/4000 Picky::Query::Tokens#initialize
    0.01 0.01 0.00 0.00 4000/4000 Picky::Query::Allocations#initialize
    0.00 0.00 0.00 0.00 20/20 Regexp#initialize
    0.00 0.00 0.00 0.00 4/4 Picky::Search#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 Picky::Query::QualifierCategoryMapper#initialize
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize
    0.00 0.00 0.00 0.00 20/20 <Class::Regexp>#allocate
    0.00 0.00 0.00 0.00 4/4 CSV#initialize
    0.00 0.00 0.00 0.00 4/4 Hash#initialize
    0.00 0.00 0.00 0.00 4/12 <Class::Hash>#allocate
    0.00 0.00 0.00 0.00 4/4 Searches#initialize
    0.00 0.00 0.00 0.00 4/4 Picky::Query::Indexes#initialize
    0.76 0.03 0.00 0.72 10000/10000 Picky::Index#possible_combinations 7
9.13% 0.39% 0.76 0.03 0.00 0.72 10000 Picky::Categories#possible_combinations 15
    0.71 0.04 0.00 0.67 10000/10000 Picky::Categories#possible_for 16
    0.02 0.02 0.00 0.00 10000/10000 Picky::Query::Token#similar? 16
    0.00 0.00 0.00 0.00 84731/110956 Picky::Query::Combination#hash 59
    0.73 0.13 0.00 0.60 26225/110956 Picky::Query::Combinations#hash 26
8.81% 1.58% 0.73 0.13 0.00 0.60 110956 *Array#hash
    0.60 0.22 0.00 0.38 84731/84731 Picky::Query::Combination#hash
    0.17 0.17 0.00 0.00 169462/169462 Kernel#hash
    0.71 0.04 0.00 0.67 10000/10000 Picky::Categories#possible_combinations 16
8.54% 0.45% 0.71 0.04 0.00 0.67 10000 Picky::Categories#possible_for 49
    0.02 0.02 0.00 0.00 10000/10000 Picky::Categories#possible_categories 50
    0.00 0.00 0.00 0.00 10000/113378 Enumerable#inject 50
    0.00 0.00 0.00 0.00 32/54460 CSV#encode_str 2317
    0.00 0.00 0.00 0.00 4/54460 <Class::Picky::Query::IndexesCheck>#check_backends 18
    0.23 0.09 0.00 0.14 27212/54460 Picky::Query::Boosts#boost_for 64
    0.41 0.09 0.00 0.32 27212/54460 Enumerable#sum 60
7.79% 2.25% 0.64 0.19 0.00 0.46 54460 Array#map
    0.32 0.15 0.00 0.17 86527/86527 Picky::Query::Combination#weight
    0.14 0.14 0.00 0.00 86527/86527 Picky::Query::Combination#category_name
    0.00 0.00 0.00 0.00 4/27216 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.64 0.01 0.00 0.63 4000/4000 Picky::Search#tokenized 222
7.77% 0.15% 0.64 0.01 0.00 0.63 4000 <Class::Picky::Query::Tokens>#processed 26
    0.60 0.02 0.00 0.58 4000/12000 Array#collect! 27
    0.02 0.01 0.00 0.01 4000/120473 Class#new 27
    0.01 0.01 0.00 0.00 4000/8000 Array#zip 27
    0.60 0.22 0.00 0.38 84731/84731 Array#hash
7.23% 2.64% 0.60 0.22 0.00 0.38 84731 Picky::Query::Combination#hash 58
    0.00 0.00 0.00 0.00 84731/110956 Array#hash 59
    0.58 0.03 0.00 0.55 10000/10000 Array#collect!
7.00% 0.32% 0.58 0.03 0.00 0.55 10000 <Class::Picky::Query::Token>#processed 38
    0.49 0.06 0.00 0.43 10000/10000 Picky::Query::Token#process 39
    0.06 0.02 0.00 0.04 10000/120473 Class#new 39
    0.57 0.06 0.00 0.52 26954/26954 Picky::Backends::Backend#ids 35
6.91% 0.69% 0.57 0.06 0.00 0.52 26954 Picky::Query::Combinations#inject 16
    0.52 0.05 0.00 0.47 26954/113378 Enumerable#inject 17
    0.55 0.09 0.00 0.46 40000/40000 Array#each
6.63% 1.10% 0.55 0.09 0.00 0.46 40000 Picky::Category#combination_for 37
    0.35 0.10 0.00 0.25 40000/59996 Picky::Category#weight 38
    0.11 0.05 0.00 0.06 19996/120473 Class#new 38
    0.17 0.05 0.00 0.12 19996/59996 Picky::Query::Combination#weight 37
    0.35 0.10 0.00 0.25 40000/59996 Picky::Category#combination_for 38
6.25% 1.85% 0.52 0.15 0.00 0.36 59996 Picky::Category#weight 18
    0.24 0.14 0.00 0.10 59996/79734 Picky::Category#bundle_for 19
    0.12 0.12 0.00 0.00 59996/59996 Picky::Bundle#weight 19
    0.49 0.06 0.00 0.43 10000/10000 <Class::Picky::Query::Token>#processed 39
5.91% 0.71% 0.49 0.06 0.00 0.43 10000 Picky::Query::Token#process 41
    0.14 0.03 0.00 0.11 10000/10000 Picky::Query::Token#remove_illegals 45
    0.10 0.03 0.00 0.07 10000/10000 Picky::Query::Token#partialize 43
    0.10 0.03 0.00 0.07 10000/10000 Picky::Query::Token#similarize 44
    0.08 0.05 0.00 0.03 10000/10000 Picky::Query::Token#qualify 42
    0.49 0.05 0.00 0.43 4000/4000 Picky::Query::Indexes#allocation_for 111
5.87% 0.63% 0.49 0.05 0.00 0.43 4000 Array#map!
    0.43 0.12 0.00 0.31 54424/120473 Class#new
    0.42 0.06 0.00 0.37 27212/27212 Picky::Query::Boosts#boost_for 64
5.11% 0.69% 0.42 0.06 0.00 0.37 27212 Picky::Query::Boosts#boost_for_categories 50
    0.37 0.08 0.00 0.28 27212/27212 Array#clustered_uniq_fast 51
    0.41 0.11 0.00 0.31 26954/26954 Picky::Backends::Backend#ids 43
4.98% 1.27% 0.41 0.11 0.00 0.31 26954 <Class::Performant::Array>#memory_efficient_intersect
    0.31 0.05 0.00 0.25 26954/26954 Array#sort_by!
    0.37 0.04 0.00 0.34 4000/4000 Picky::Query::Indexes#allocation_for 107
4.51% 0.45% 0.37 0.04 0.00 0.34 4000 Picky::Query::Indexes#expand_combinations_from 172
    0.22 0.05 0.00 0.17 4000/12000 Array#collect! 189
    0.04 0.04 0.00 0.00 4000/8000 Array#zip 226
    0.03 0.01 0.00 0.02 4000/4000 Enumerable#any? 176
    0.00 0.00 0.00 0.00 4000/58433 Symbol#to_proc 176
    0.00 0.00 0.00 0.00 4000/14000 Array#shift 226
    0.00 0.00 0.00 0.00 4000/115120 Array#empty? 224
    0.00 0.00 0.00 0.00 4000/113378 Enumerable#inject 180
    0.37 0.08 0.00 0.28 27212/27212 Picky::Query::Boosts#boost_for_categories 51
4.42% 1.02% 0.37 0.08 0.00 0.28 27212 Array#clustered_uniq_fast 19
    0.28 0.05 0.00 0.23 27212/113378 Enumerable#inject 21
    0.35 0.03 0.00 0.32 4000/4000 Picky::Search#tokenized 221
4.24% 0.39% 0.35 0.03 0.00 0.32 4000 Picky::Tokenizer#tokenize 180
    0.17 0.02 0.00 0.15 4000/4000 Picky::Tokenizer#pretokenize 183
    0.05 0.01 0.00 0.04 4000/4000 Picky::Tokenizer#tokens_for 185
    0.04 0.02 0.00 0.02 4000/4000 Picky::Tokenizer#preprocess 181
    0.04 0.01 0.00 0.03 4000/24000 String#blank? 182
    0.00 0.00 0.00 0.00 4000/115120 Array#empty? 184
    0.00 0.00 0.00 0.00 4000/4012 String#to_s 181
    0.08 0.05 0.00 0.03 19738/79734 Picky::Category#ids 25
    0.24 0.14 0.00 0.10 59996/79734 Picky::Category#weight 19
3.91% 2.32% 0.32 0.19 0.00 0.13 79734 Picky::Category#bundle_for 30
    0.13 0.13 0.00 0.00 79734/79734 Picky::Query::Token#partial? 31
    0.32 0.15 0.00 0.18 86269/86269 Array#each
3.90% 1.77% 0.32 0.15 0.00 0.18 86269 Picky::Query::Combination#ids 44
    0.18 0.05 0.00 0.13 19738/19738 Picky::Category#ids 45
    0.32 0.15 0.00 0.17 86527/86527 Array#map
3.82% 1.78% 0.32 0.15 0.00 0.17 86527 Picky::Query::Combination#weight 36
    0.17 0.05 0.00 0.12 19996/59996 Picky::Category#weight 37
    0.31 0.05 0.00 0.25 26954/26954 <Class::Performant::Array>#memory_efficient_intersect
3.71% 0.64% 0.31 0.05 0.00 0.25 26954 Array#sort_by!
    0.25 0.14 0.00 0.11 26954/26954 Enumerable#sort_by
    0.25 0.14 0.00 0.11 26954/26954 Array#sort_by!
3.07% 1.75% 0.25 0.14 0.00 0.11 26954 Enumerable#sort_by
    0.07 0.07 0.00 0.00 73991/73991 Fixnum#<=>
    0.00 0.00 0.00 0.00 26954/160361 Array#each
    0.25 0.01 0.00 0.24 4000/4000 Picky::Query::Indexes#prepared_allocations_for 76
2.97% 0.10% 0.25 0.01 0.00 0.24 4000 Picky::Query::Allocations#sort! 39
    0.24 0.05 0.00 0.19 4000/4000 Array#sort! 40
    0.07 0.03 0.00 0.04 20000/64000 Picky::Query::Token#similarize 153
    0.07 0.03 0.00 0.04 20000/64000 Picky::Query::Token#partialize 108
    0.11 0.04 0.00 0.07 24000/64000 String#blank? 105
2.96% 1.23% 0.25 0.10 0.00 0.14 64000 Kernel#!~
    0.14 0.14 0.00 0.00 64000/84004 String#=~
    0.24 0.05 0.00 0.19 4000/4000 Picky::Query::Allocations#sort! 40
2.87% 0.56% 0.24 0.05 0.00 0.19 4000 Array#sort!
    0.19 0.13 0.00 0.06 63866/63866 Picky::Query::Allocation#<=>
    0.04 0.01 0.00 0.03 4000/24000 Picky::Tokenizer#tokenize 182
    0.09 0.03 0.00 0.06 10000/24000 Array#reject!
    0.09 0.03 0.00 0.06 10000/24000 Picky::Query::Token#remove_illegals 197
2.61% 0.89% 0.22 0.07 0.00 0.14 24000 String#blank? 102
    0.11 0.04 0.00 0.07 24000/64000 Kernel#!~ 105
    0.03 0.03 0.00 0.00 24000/24000 String#encoding_aware? 104
    0.21 0.10 0.00 0.11 27212/27212 Class#new
2.58% 1.21% 0.21 0.10 0.00 0.11 27212 Picky::Query::Allocation#initialize 23
    0.06 0.06 0.00 0.00 27212/27212 Picky::Index#result_identifier 28
    0.06 0.06 0.00 0.00 27212/27216 Picky::Index#backend 29
    0.19 0.13 0.00 0.06 63866/63866 Array#sort!
2.31% 1.57% 0.19 0.13 0.00 0.06 63866 Picky::Query::Allocation#<=> 103
    0.06 0.06 0.00 0.00 63866/63866 Float#<=> 104
    0.18 0.05 0.00 0.13 19738/19738 Picky::Query::Combination#ids 45
2.14% 0.61% 0.18 0.05 0.00 0.13 19738 Picky::Category#ids 24
    0.08 0.05 0.00 0.03 19738/79734 Picky::Category#bundle_for 25
    0.05 0.05 0.00 0.00 19738/19738 Picky::Bundle#ids 25
    0.08 0.06 0.00 0.03 26954/54166 Picky::Query::Allocation#calculate_ids 58
    0.09 0.06 0.00 0.03 27212/54166 Picky::Query::Allocation#calculate_score 50
2.06% 1.39% 0.17 0.12 0.00 0.06 54166 Picky::Query::Combinations#empty? 16
    0.06 0.06 0.00 0.00 54166/115120 Array#empty? 17
    0.17 0.02 0.00 0.15 4000/4000 Picky::Tokenizer#tokenize 183
2.05% 0.30% 0.17 0.02 0.00 0.15 4000 Picky::Tokenizer#pretokenize 214
    0.11 0.01 0.00 0.10 4000/4000 Picky::Tokenizer#reject 217
    0.03 0.01 0.00 0.02 4000/4000 Picky::Tokenizer#split 215
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#normalize_with_patterns? 216
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#cap? 218
    0.17 0.17 0.00 0.00 169462/169462 Array#hash
2.02% 2.02% 0.17 0.17 0.00 0.00 169462 Kernel#hash
    0.00 0.00 0.00 0.00 4/84004 CSV#init_separators 2058
    0.00 0.00 0.00 0.00 20000/84004 Array#each
    0.14 0.14 0.00 0.00 64000/84004 Kernel#!~
1.73% 1.73% 0.14 0.14 0.00 0.00 84004 String#=~
    0.14 0.03 0.00 0.11 10000/10000 Picky::Query::Token#process 45
1.72% 0.41% 0.14 0.03 0.00 0.11 10000 Picky::Query::Token#remove_illegals 196
    0.09 0.03 0.00 0.06 10000/24000 String#blank? 197
    0.02 0.02 0.00 0.00 10000/10000 String#gsub! 197
    0.14 0.14 0.00 0.00 86527/86527 Array#map
1.71% 1.71% 0.14 0.14 0.00 0.00 86527 Picky::Query::Combination#category_name 22
    0.13 0.13 0.00 0.00 79734/79734 Picky::Category#bundle_for 31
1.59% 1.59% 0.13 0.13 0.00 0.00 79734 Picky::Query::Token#partial? 91
    0.12 0.12 0.00 0.00 59996/59996 Picky::Category#weight 19
1.46% 1.46% 0.12 0.12 0.00 0.00 59996 Picky::Bundle#weight 49
    0.12 0.01 0.00 0.11 4000/4000 Picky::Query::Indexes#allocations_for 91
1.42% 0.10% 0.12 0.01 0.00 0.11 4000 Picky::Query::Tokens#categorize 68
    0.00 0.00 0.00 0.00 4000/160361 Array#each 69
    0.11 0.01 0.00 0.10 4000/4000 Picky::Tokenizer#pretokenize 217
1.28% 0.10% 0.11 0.01 0.00 0.10 4000 Picky::Tokenizer#reject 126
    0.10 0.01 0.00 0.09 4000/4000 Array#reject! 127
    0.00 0.00 0.00 0.00 12000/115120 Kernel#loop
    0.00 0.00 0.00 0.00 4000/115120 Picky::Query::Tokens#empty? 15
    0.00 0.00 0.00 0.00 4000/115120 Picky::Query::Indexes#expand_combinations_from 224
    0.00 0.00 0.00 0.00 4000/115120 Picky::Tokenizer#tokenize 184
    0.04 0.04 0.00 0.00 36954/115120 Array#each
    0.06 0.06 0.00 0.00 54166/115120 Picky::Query::Combinations#empty? 17
1.28% 1.28% 0.11 0.11 0.00 0.00 115120 Array#empty?
    0.11 0.11 0.00 0.00 96445/96445 Class#new
1.28% 1.28% 0.11 0.11 0.00 0.00 96445 <Class::BasicObject>#allocate
    0.10 0.03 0.00 0.07 10000/10000 Picky::Query::Token#process 43
1.27% 0.40% 0.10 0.03 0.00 0.07 10000 Picky::Query::Token#partialize 106
    0.07 0.03 0.00 0.04 20000/64000 Kernel#!~ 108
    0.10 0.03 0.00 0.07 10000/10000 Picky::Query::Token#process 44
1.21% 0.40% 0.10 0.03 0.00 0.07 10000 Picky::Query::Token#similarize 151
    0.07 0.03 0.00 0.04 20000/64000 Kernel#!~ 153
    0.10 0.01 0.00 0.09 4000/4000 Picky::Tokenizer#reject 127
1.18% 0.14% 0.10 0.01 0.00 0.09 4000 Array#reject!
    0.09 0.03 0.00 0.06 10000/24000 String#blank?
    0.03 0.03 0.00 0.00 27212/86527 Picky::Query::Allocation#calculate_score 49
    0.06 0.06 0.00 0.00 59315/86527 Array#each
1.15% 1.15% 0.09 0.09 0.00 0.00 86527 Float#+
    0.09 0.02 0.00 0.07 10000/10000 Array#each
1.10% 0.28% 0.09 0.02 0.00 0.07 10000 Picky::Query::Token#categorize 65
    0.07 0.03 0.00 0.04 10000/10000 Picky::Query::Token#extract_predefined 66
    0.08 0.05 0.00 0.03 10000/10000 Picky::Query::Token#process 42
1.01% 0.61% 0.08 0.05 0.00 0.03 10000 Picky::Query::Token#qualify 223
    0.02 0.02 0.00 0.00 10000/18000 String#split 224
    0.01 0.01 0.00 0.00 10000/10000 NilClass#blank? 225
    0.07 0.03 0.00 0.05 8000/8000 Picky::Helpers::Measuring#timed 17
0.90% 0.31% 0.07 0.03 0.00 0.05 8000 Time#to_f
    0.03 0.01 0.00 0.01 8000/8000 Numeric#quo
    0.02 0.01 0.00 0.01 8000/8000 Rational#to_f
    0.07 0.07 0.00 0.00 73991/73991 Enumerable#sort_by
0.88% 0.88% 0.07 0.07 0.00 0.00 73991 Fixnum#<=>
    0.07 0.03 0.00 0.04 10000/10000 Picky::Query::Token#categorize 66
0.82% 0.38% 0.07 0.03 0.00 0.04 10000 Picky::Query::Token#extract_predefined 68
    0.02 0.02 0.00 0.00 10000/10000 Picky::Query::QualifierCategoryMapper#restrict 70
    0.01 0.01 0.00 0.00 10000/10000 Picky::Query::Token#categorize_with 69
    0.00 0.00 0.00 0.00 8/58433 <Class::Picky::Query::IndexesCheck>#check_backends 19
    0.00 0.00 0.00 0.00 1/58433 Picky::Tokenizer#initialize 170
    0.00 0.00 0.00 0.00 4000/58433 Picky::Query::Indexes#expand_combinations_from 176
    0.03 0.03 0.00 0.00 27212/58433 Picky::Query::Boosts#boost_for 64
    0.03 0.03 0.00 0.00 27212/58433 Picky::Query::Combinations#score 30
0.76% 0.76% 0.06 0.06 0.00 0.00 58433 Symbol#to_proc
    0.00 0.00 0.00 0.00 6/6 Kernel#proc
    0.06 0.06 0.00 0.00 63866/63866 Picky::Query::Allocation#<=> 104
0.74% 0.74% 0.06 0.06 0.00 0.00 63866 Float#<=>
    0.00 0.00 0.00 0.00 8/59331 CSV#init_separators 2046
    0.00 0.00 0.00 0.00 8/59331 CSV#init_converters 2152
    0.06 0.06 0.00 0.00 59315/59331 Array#each
0.73% 0.73% 0.06 0.06 0.00 0.00 59331 Symbol#==
    0.06 0.06 0.00 0.00 27212/27212 Picky::Query::Allocation#initialize 28
0.69% 0.69% 0.06 0.06 0.00 0.00 27212 Picky::Index#result_identifier 18
    0.00 0.00 0.00 0.00 4/54436 <Class::CSV>#open 1352
    0.00 0.00 0.00 0.00 4/54436 CSV#each 1790
    0.00 0.00 0.00 0.00 4/54436 Picky::Search#initialize 44
    0.06 0.06 0.00 0.00 54424/54436 Enumerable#sum 59
0.69% 0.69% 0.06 0.06 0.00 0.00 54436 Kernel#block_given?
    0.00 0.00 0.00 0.00 4/27216 Array#map
    0.06 0.06 0.00 0.00 27212/27216 Picky::Query::Allocation#initialize 29
0.68% 0.68% 0.06 0.06 0.00 0.00 27216 Picky::Index#backend 135
    0.05 0.02 0.00 0.03 8000/8000 Picky::Helpers::Measuring#timed 17
0.64% 0.22% 0.05 0.02 0.00 0.03 8000 <Class::Time>#now
    0.02 0.02 0.00 0.01 8000/8000 Time#initialize
    0.01 0.01 0.00 0.00 8000/8000 <Class::Time>#allocate
    0.05 0.01 0.00 0.04 4000/4000 Picky::Tokenizer#tokenize 185
0.63% 0.15% 0.05 0.01 0.00 0.04 4000 Picky::Tokenizer#tokens_for 224
    0.03 0.02 0.00 0.01 4000/12000 Array#collect! 225
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#downcase? 225
    0.05 0.02 0.00 0.03 4000/4000 Picky::Search#tokenized 224
0.61% 0.20% 0.05 0.02 0.00 0.03 4000 Picky::Query::Tokens#partialize_last 62
    0.02 0.01 0.00 0.00 4000/4000 Picky::Query::Token#partial= 63
    0.01 0.01 0.00 0.00 4000/4000 Picky::Query::Tokens#empty? 63
    0.00 0.00 0.00 0.00 4000/4004 Array#last 63
    0.01 0.01 0.00 0.00 4000/8000 <Class::Picky::Query::Tokens>#processed 27
    0.04 0.04 0.00 0.00 4000/8000 Picky::Query::Indexes#expand_combinations_from 226
0.58% 0.58% 0.05 0.05 0.00 0.00 8000 Array#zip
    0.05 0.05 0.00 0.00 19738/19738 Picky::Category#ids 25
0.55% 0.55% 0.05 0.05 0.00 0.00 19738 Picky::Bundle#ids 26
    0.04 0.02 0.00 0.02 4000/4000 Picky::Tokenizer#tokenize 181
0.54% 0.24% 0.04 0.02 0.00 0.02 4000 Picky::Tokenizer#preprocess 196
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#remove_illegals 198
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#substitute_characters 197
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#remove_non_single_stopwords 204
    0.04 0.04 0.00 0.00 27212/27212 Class#new
0.51% 0.51% 0.04 0.04 0.00 0.00 27212 Picky::Query::Combinations#initialize 21
    0.04 0.04 0.00 0.00 19996/19996 Class#new
0.50% 0.50% 0.04 0.04 0.00 0.00 19996 Picky::Query::Combination#initialize 15
    0.00 0.00 0.00 0.00 4000/18000 Kernel#loop
    0.02 0.02 0.00 0.00 4000/18000 Picky::Tokenizer#split 84
    0.02 0.02 0.00 0.00 10000/18000 Picky::Query::Token#qualify 224
0.43% 0.43% 0.04 0.04 0.00 0.00 18000 String#split
    0.03 0.03 0.00 0.00 24000/24000 String#blank? 104
0.42% 0.42% 0.03 0.03 0.00 0.00 24000 String#encoding_aware? 3
    0.00 0.00 0.00 0.00 4/31957 Numeric#nonzero?
    0.01 0.01 0.00 0.00 10000/31957 Array#collect!
    0.02 0.02 0.00 0.00 21953/31957 Array#each
0.40% 0.40% 0.03 0.03 0.00 0.00 31957 Fixnum#zero?
    0.03 0.03 0.00 0.00 26954/26954 Picky::Query::Allocation#process! 79
0.39% 0.39% 0.03 0.03 0.00 0.00 26954 Array#slice!
    0.03 0.01 0.00 0.02 4000/4000 Picky::Query::Indexes#expand_combinations_from 176
0.34% 0.08% 0.03 0.01 0.00 0.02 4000 Enumerable#any?
    0.00 0.00 0.00 0.00 4000/160361 Array#each
    0.03 0.03 0.00 0.00 10000/10000 Class#new
0.33% 0.33% 0.03 0.03 0.00 0.00 10000 Picky::Query::Token#initialize 26
    0.03 0.01 0.00 0.01 8000/8000 Time#to_f
0.33% 0.17% 0.03 0.01 0.00 0.01 8000 Numeric#quo
    0.01 0.01 0.00 0.00 8000/8000 Rational#/
    0.03 0.01 0.00 0.02 4000/4000 Picky::Tokenizer#pretokenize 215
0.32% 0.10% 0.03 0.01 0.00 0.02 4000 Picky::Tokenizer#split 83
    0.02 0.02 0.00 0.00 4000/18000 String#split 84
    0.02 0.02 0.00 0.00 24004/24004 Class#new
0.29% 0.29% 0.02 0.02 0.00 0.00 24004 Array#initialize
    0.02 0.02 0.00 0.01 8000/8000 <Class::Time>#now
0.29% 0.19% 0.02 0.02 0.00 0.01 8000 Time#initialize
    0.01 0.01 0.00 0.00 8000/8000 Fixnum#+
    0.02 0.02 0.00 0.00 24004/24004 Class#new
0.27% 0.27% 0.02 0.02 0.00 0.00 24004 <Class::Array>#allocate
    0.02 0.02 0.00 0.00 10000/10000 Picky::Query::Token#remove_illegals 197
0.27% 0.27% 0.02 0.02 0.00 0.00 10000 String#gsub!
    0.02 0.01 0.00 0.01 8000/8000 Time#to_f
0.27% 0.15% 0.02 0.01 0.00 0.01 8000 Rational#to_f
    0.01 0.01 0.00 0.00 8000/8000 Fixnum#fdiv
    0.02 0.02 0.00 0.00 10000/10000 Picky::Query::Token#extract_predefined 70
0.26% 0.26% 0.02 0.02 0.00 0.00 10000 Picky::Query::QualifierCategoryMapper#restrict 46
    0.02 0.02 0.00 0.00 10000/10000 Picky::Categories#possible_combinations 16
0.20% 0.20% 0.02 0.02 0.00 0.00 10000 Picky::Query::Token#similar? 190
    0.02 0.01 0.00 0.00 4000/4000 Picky::Query::Tokens#partialize_last 63
0.20% 0.15% 0.02 0.01 0.00 0.00 4000 Picky::Query::Token#partial= 82
    0.00 0.00 0.00 0.00 4000/4009 NilClass#nil? 83
    0.02 0.02 0.00 0.00 10000/10000 Picky::Categories#possible_for 50
0.20% 0.20% 0.02 0.02 0.00 0.00 10000 Picky::Categories#possible_categories 64
    0.01 0.01 0.00 0.00 10000/10000 Picky::Query::Token#qualify 225
0.18% 0.18% 0.01 0.01 0.00 0.00 10000 NilClass#blank? 48
    0.01 0.01 0.00 0.00 10000/10000 Picky::Query::Token#extract_predefined 69
0.18% 0.18% 0.01 0.01 0.00 0.00 10000 Picky::Query::Token#categorize_with 72
    0.01 0.01 0.00 0.00 10000/10000 Array#collect!
0.17% 0.17% 0.01 0.01 0.00 0.00 10000 Array#*
    0.01 0.01 0.00 0.00 4000/4000 Class#new
0.17% 0.17% 0.01 0.01 0.00 0.00 4000 Picky::Results#initialize 18
    0.01 0.01 0.00 0.00 4000/4000 Picky::Query::Tokens#partialize_last 63
0.16% 0.11% 0.01 0.01 0.00 0.00 4000 Picky::Query::Tokens#empty? 14
    0.00 0.00 0.00 0.00 4000/115120 Array#empty? 15
    0.01 0.01 0.00 0.00 8000/8000 Numeric#quo
0.16% 0.16% 0.01 0.01 0.00 0.00 8000 Rational#/
    0.01 0.01 0.00 0.00 10000/10000 Array#collect!
0.13% 0.13% 0.01 0.01 0.00 0.00 10000 String#downcase!
    0.01 0.01 0.00 0.00 8000/8000 <Class::Time>#now
0.13% 0.13% 0.01 0.01 0.00 0.00 8000 <Class::Time>#allocate
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#preprocess 198
0.11% 0.11% 0.01 0.01 0.00 0.00 4000 Picky::Tokenizer#remove_illegals 69
    0.01 0.01 0.00 0.00 8000/8000 Rational#to_f
0.11% 0.11% 0.01 0.01 0.00 0.00 8000 Fixnum#fdiv
    0.01 0.01 0.00 0.00 4000/4000 Class#new
0.11% 0.11% 0.01 0.01 0.00 0.00 4000 Picky::Query::Tokens#initialize 19
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#preprocess 197
0.11% 0.11% 0.01 0.01 0.00 0.00 4000 Picky::Tokenizer#substitute_characters 117
    0.01 0.01 0.00 0.00 8000/8000 Time#initialize
0.10% 0.10% 0.01 0.01 0.00 0.00 8000 Fixnum#+
    0.01 0.01 0.00 0.00 8000/8000 Picky::Search#search 181
0.10% 0.10% 0.01 0.01 0.00 0.00 8000 Integer#to_i
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#tokens_for 225
0.08% 0.08% 0.01 0.01 0.00 0.00 4000 Picky::Tokenizer#downcase? 137
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#pretokenize 216
0.08% 0.08% 0.01 0.01 0.00 0.00 4000 Picky::Tokenizer#normalize_with_patterns? 106
    0.01 0.01 0.00 0.00 4000/4000 Picky::Search#search_with 194
0.08% 0.08% 0.01 0.01 0.00 0.00 4000 Float#round
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#preprocess 204
0.08% 0.08% 0.01 0.01 0.00 0.00 4000 Picky::Tokenizer#remove_non_single_stopwords 54
    0.01 0.01 0.00 0.00 4000/4000 Class#new
0.08% 0.08% 0.01 0.01 0.00 0.00 4000 Picky::Query::Allocations#initialize 25
    0.01 0.01 0.00 0.00 4000/4000 Picky::Tokenizer#pretokenize 218
0.08% 0.08% 0.01 0.01 0.00 0.00 4000 Picky::Tokenizer#cap? 150
    0.00 0.00 0.00 0.00 8/4008 CSV#init_separators 2102
    0.00 0.00 0.00 0.00 4000/4008 Picky::Helpers::Measuring#timed 11
0.06% 0.06% 0.00 0.00 0.00 0.00 4008 Kernel#lambda
    0.00 0.00 0.00 0.00 4000/14000 CSV#each 38
    0.00 0.00 0.00 0.00 6000/14000 Integer#times
    0.00 0.00 0.00 0.00 4000/14000 Picky::Query::Indexes#expand_combinations_from 226
0.06% 0.06% 0.00 0.00 0.00 0.00 14000 Array#shift
    0.00 0.00 0.00 0.00 4/4004 <Class::CSV>#open 1337
    0.00 0.00 0.00 0.00 4000/4004 Picky::Query::Tokens#partialize_last 63
0.06% 0.06% 0.00 0.00 0.00 0.00 4004 Array#last
    0.00 0.00 0.00 0.00 12/4012 CSV#init_separators 2087
    0.00 0.00 0.00 0.00 4000/4012 Picky::Tokenizer#tokenize 181
0.05% 0.05% 0.00 0.00 0.00 0.00 4012 String#to_s
    0.00 0.00 0.00 0.00 8/4009 CSV#init_converters 2162
    0.00 0.00 0.00 0.00 1/4009 Picky::Tokenizer#initialize 171
    0.00 0.00 0.00 0.00 4000/4009 Picky::Query::Token#partial= 83
0.05% 0.05% 0.00 0.00 0.00 0.00 4009 NilClass#nil?
    0.00 0.00 0.00 0.00 6/6 Symbol#to_proc
0.00% 0.00% 0.00 0.00 0.00 0.00 6 Kernel#proc
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1590
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#init_separators 2021
    0.00 0.00 0.00 0.00 8/4008 Kernel#lambda 2102
    0.00 0.00 0.00 0.00 4/4 String#== 2083
    0.00 0.00 0.00 0.00 4/4 Numeric#nonzero? 2071
    0.00 0.00 0.00 0.00 4/4 IO#rewind 2065
    0.00 0.00 0.00 0.00 4/84004 String#=~ 2058
    0.00 0.00 0.00 0.00 4/20 CSV#encode_re 2058
    0.00 0.00 0.00 0.00 4/4 String#end_with? 2053
    0.00 0.00 0.00 0.00 8/32 CSV#encode_str 2098
    0.00 0.00 0.00 0.00 4/4004 IO#gets 2051
    0.00 0.00 0.00 0.00 4/4 IO#pos 2045
    0.00 0.00 0.00 0.00 4/4 Array#include? 2037
    0.00 0.00 0.00 0.00 8/59331 Symbol#== 2046
    0.00 0.00 0.00 0.00 12/96 String#encode 2087
    0.00 0.00 0.00 0.00 12/4012 String#to_s 2087
    0.00 0.00 0.00 0.00 16/60 Hash#delete 2090
    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::Indexes#initialize 24
    0.00 0.00 0.00 0.00 4/120473 Class#new 29
    0.00 0.00 0.00 0.00 4/4 <Class::Picky::Query::IndexesCheck>#check_backends 25
    0.00 0.00 0.00 0.00 4000/4000 CSV#each 35
0.00% 0.00% 0.00 0.00 0.00 0.00 4000 Integer#times
    0.00 0.00 0.00 0.00 6000/14000 Array#shift
    0.00 0.00 0.00 0.00 4000/4000 CSV#each 33
0.00% 0.00% 0.00 0.00 0.00 0.00 4000 Array#first
    0.00 0.00 0.00 0.00 20000/20000 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 20000 String#[]
    0.00 0.00 0.00 0.00 4/4 Picky::Query::Indexes#initialize 25
0.00% 0.00% 0.00 0.00 0.00 0.00 4 <Class::Picky::Query::IndexesCheck>#check_backends 17
    0.00 0.00 0.00 0.00 4/4004 Array#uniq! 19
    0.00 0.00 0.00 0.00 4/54460 Array#map 18
    0.00 0.00 0.00 0.00 8/58433 Symbol#to_proc 19
    0.00 0.00 0.00 0.00 4000/24000 Kernel#loop
    0.00 0.00 0.00 0.00 20000/24000 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 24000 String#empty?
    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::QualifierCategoryMapper#initialize 15
    0.00 0.00 0.00 0.00 4/160361 Array#each 17
    0.00 0.00 0.00 0.00 4000/4000 Kernel#loop
0.00% 0.00% 0.00 0.00 0.00 0.00 4000 String#sub!
    0.00 0.00 0.00 0.00 4000/4000 CSV#shift 1849
0.00% 0.00% 0.00 0.00 0.00 0.00 4000 Kernel#loop
    0.00 0.00 0.00 0.00 4000/160361 Array#each
    0.00 0.00 0.00 0.00 4000/18000 String#split
    0.00 0.00 0.00 0.00 4000/24000 String#empty?
    0.00 0.00 0.00 0.00 12000/115120 Array#empty?
    0.00 0.00 0.00 0.00 4000/4000 String#sub!
    0.00 0.00 0.00 0.00 4000/4004 IO#gets
    0.00 0.00 0.00 0.00 4000/4000 CSV#shift 1833
0.00% 0.00% 0.00 0.00 0.00 0.00 4000 CSV#header_row? 1815
    0.00 0.00 0.00 0.00 4000/4000 CSV#each 40
0.00% 0.00% 0.00 0.00 0.00 0.00 4000 CSV#shift 1826
    0.00 0.00 0.00 0.00 4000/4000 Kernel#loop 1849
    0.00 0.00 0.00 0.00 4000/120473 Class#new 1847
    0.00 0.00 0.00 0.00 4000/4000 CSV#header_row? 1833
    0.00 0.00 0.00 0.00 4/4 Searches#prepare 31
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#each 1789
    0.00 0.00 0.00 0.00 4000/4032 Array#join 39
    0.00 0.00 0.00 0.00 4000/14000 Array#shift 38
    0.00 0.00 0.00 0.00 4000/4000 Integer#times 35
    0.00 0.00 0.00 0.00 4000/4000 Array#first 33
    0.00 0.00 0.00 0.00 4000/4000 CSV#shift 40
    0.00 0.00 0.00 0.00 4/54436 Kernel#block_given? 1790
    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::Index#each_category 6
    0.00 0.00 0.00 0.00 4/4 Picky::Categories#each_category 7
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1598
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Hash#empty?
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1593
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#init_headers 2181
    0.00 0.00 0.00 0.00 4/8 CSV#init_converters 2189
    0.00 0.00 0.00 0.00 12/60 Hash#delete 2184
    0.00 0.00 0.00 0.00 4/4 Picky::Index#each_category 7
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Picky::Categories#each_category 10
    0.00 0.00 0.00 0.00 4/160361 Array#each 11
    0.00 0.00 0.00 0.00 8/8 CSV#init_converters 2159
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#init_converters 2159
0.00% 0.00% 0.00 0.00 0.00 0.00 8 String#sub
    0.00 0.00 0.00 0.00 8/8 CSV#init_converters 2156
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 16/16 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Picky::Query::QualifierCategoryMapper#add 26
    0.00 0.00 0.00 0.00 16/160361 Array#each 27
    0.00 0.00 0.00 0.00 16/16 Picky::Category#qualifiers 27
    0.00 0.00 0.00 0.00 16/16 Picky::Query::QualifierCategoryMapper#add 27
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Picky::Category#qualifiers 108
    0.00 0.00 0.00 0.00 16/16 CSV#init_converters 2159
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Symbol#to_s
    0.00 0.00 0.00 0.00 4/8 CSV#initialize 1592
    0.00 0.00 0.00 0.00 4/8 CSV#init_headers 2189
0.00% 0.00% 0.00 0.00 0.00 0.00 8 CSV#init_converters 2151
    0.00 0.00 0.00 0.00 8/4009 NilClass#nil? 2162
    0.00 0.00 0.00 0.00 8/8 Kernel#method 2159
    0.00 0.00 0.00 0.00 8/8 String#sub 2159
    0.00 0.00 0.00 0.00 8/8 Kernel#instance_variable_set 2156
    0.00 0.00 0.00 0.00 8/120473 Class#new 2156
    0.00 0.00 0.00 0.00 16/16 Symbol#to_s 2159
    0.00 0.00 0.00 0.00 12/60 Hash#delete 2177
    0.00 0.00 0.00 0.00 8/59331 Symbol#== 2152
    0.00 0.00 0.00 0.00 8/8 CSV#escape_re 2301
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_parsers 2127
0.00% 0.00% 0.00 0.00 0.00 0.00 8 CSV#escape_re 2300
    0.00 0.00 0.00 0.00 8/8 String#gsub 2301
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1591
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#init_parsers 2120
    0.00 0.00 0.00 0.00 4/32 CSV#encode_str 2128
    0.00 0.00 0.00 0.00 16/20 CSV#encode_re 2128
    0.00 0.00 0.00 0.00 8/8 CSV#escape_re 2127
    0.00 0.00 0.00 0.00 8/60 Hash#delete 2123
    0.00 0.00 0.00 0.00 16/16 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Symbol#intern
    0.00 0.00 0.00 0.00 4/8 String#==
    0.00 0.00 0.00 0.00 4/8 Kernel#respond_to?
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Kernel#respond_to_missing?
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 2083
0.00% 0.00% 0.00 0.00 0.00 0.00 4 String#==
    0.00 0.00 0.00 0.00 4/8 Kernel#respond_to_missing?
    0.00 0.00 0.00 0.00 16/16 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Hash#has_key?
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 2071
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Numeric#nonzero?
    0.00 0.00 0.00 0.00 4/31957 Fixnum#zero?
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 2065
0.00% 0.00% 0.00 0.00 0.00 0.00 4 IO#rewind
    0.00 0.00 0.00 0.00 16/16 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 16 Hash#[]=
    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 20/20 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 20 <Class::Regexp>#allocate
    0.00 0.00 0.00 0.00 4/20 CSV#init_separators 2058
    0.00 0.00 0.00 0.00 16/20 CSV#init_parsers 2128
0.00% 0.00% 0.00 0.00 0.00 0.00 20 CSV#encode_re 2308
    0.00 0.00 0.00 0.00 20/120473 Class#new 2309
    0.00 0.00 0.00 0.00 20/32 CSV#encode_str 2309
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 2053
0.00% 0.00% 0.00 0.00 0.00 0.00 4 String#end_with?
    0.00 0.00 0.00 0.00 32/4032 CSV#encode_str 2317
    0.00 0.00 0.00 0.00 4000/4032 CSV#each 39
0.00% 0.00% 0.00 0.00 0.00 0.00 4032 Array#join
    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 4/4 Picky::Search#initialize 46
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/120473 Class#new 24
    0.00 0.00 0.00 0.00 8/32 CSV#init_separators 2098
    0.00 0.00 0.00 0.00 20/32 CSV#encode_re 2309
    0.00 0.00 0.00 0.00 4/32 CSV#init_parsers 2128
0.00% 0.00% 0.00 0.00 0.00 0.00 32 CSV#encode_str 2316
    0.00 0.00 0.00 0.00 32/4032 Array#join 2317
    0.00 0.00 0.00 0.00 32/54460 Array#map 2317
    0.00 0.00 0.00 0.00 4/4004 CSV#init_separators 2051
    0.00 0.00 0.00 0.00 4000/4004 Kernel#loop
0.00% 0.00% 0.00 0.00 0.00 0.00 4004 IO#gets
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 2045
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 4/4 CSV#init_separators 2037
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 1/1 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#initialize 163
    0.00 0.00 0.00 0.00 1/4009 NilClass#nil? 171
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#rejects_token_if 170
    0.00 0.00 0.00 0.00 1/58433 Symbol#to_proc 170
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#max_words 169
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#splits_text_on 167
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize 167
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#splits_text_on 79
    0.00 0.00 0.00 0.00 1/1 Module#=== 80
    0.00 0.00 0.00 0.00 16/60 CSV#init_separators 2090
    0.00 0.00 0.00 0.00 8/60 CSV#init_parsers 2123
    0.00 0.00 0.00 0.00 12/60 CSV#init_converters 2177
    0.00 0.00 0.00 0.00 12/60 CSV#init_headers 2184
    0.00 0.00 0.00 0.00 12/60 CSV#initialize 1597
0.00% 0.00% 0.00 0.00 0.00 0.00 60 Hash#delete
    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::Search#initialize 41
    0.00 0.00 0.00 0.00 4/4 <Class::Picky::Tokenizer>#searching 46
    0.00 0.00 0.00 0.00 4/54436 Kernel#block_given? 44
    0.00 0.00 0.00 0.00 8/120473 Class#new 47
    0.00 0.00 0.00 0.00 8/96 CSV#initialize 1587
    0.00 0.00 0.00 0.00 12/96 CSV#init_separators 2087
    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 2328
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 2328
0.00% 0.00% 0.00 0.00 0.00 0.00 4 IO#internal_encoding
    0.00 0.00 0.00 0.00 4/8 CSV#raw_encoding 2327
    0.00 0.00 0.00 0.00 4/8 Picky::Search#terminate_early 111
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Kernel#respond_to?
    0.00 0.00 0.00 0.00 4/8 Kernel#respond_to_missing?
    0.00 0.00 0.00 0.00 4/4 CSV#initialize 1570
0.00% 0.00% 0.00 0.00 0.00 0.00 4 CSV#raw_encoding 2326
    0.00 0.00 0.00 0.00 4/4 IO#external_encoding 2328
    0.00 0.00 0.00 0.00 4/4 IO#internal_encoding 2328
    0.00 0.00 0.00 0.00 4/8 Kernel#respond_to? 2327
    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 CSV#initialize 1563
    0.00 0.00 0.00 0.00 4/4 Hash#empty? 1598
    0.00 0.00 0.00 0.00 12/60 Hash#delete 1597
    0.00 0.00 0.00 0.00 4/4 CSV#init_headers 1593
    0.00 0.00 0.00 0.00 4/8 CSV#init_converters 1592
    0.00 0.00 0.00 0.00 4/4 CSV#init_parsers 1591
    0.00 0.00 0.00 0.00 4/4 CSV#init_separators 1590
    0.00 0.00 0.00 0.00 8/96 String#encode 1587
    0.00 0.00 0.00 0.00 4/4 CSV#raw_encoding 1570
    0.00 0.00 0.00 0.00 4/8 Kernel#is_a? 1568
    0.00 0.00 0.00 0.00 4/8 Hash#merge 1565
    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 <Class::IO>#open
0.00% 0.00% 0.00 0.00 0.00 0.00 4 <Class::IO>#allocate
    0.00 0.00 0.00 0.00 4/4 <Class::CSV>#open 1342
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 4/4 <Class::IO>#allocate
    0.00 0.00 0.00 0.00 8/8 Kernel#initialize_dup
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Hash#initialize_copy
    0.00 0.00 0.00 0.00 8/8 Hash#merge
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Kernel#initialize_dup
    0.00 0.00 0.00 0.00 8/8 Hash#initialize_copy
    0.00 0.00 0.00 0.00 4/8 <Class::CSV>#open 1340
    0.00 0.00 0.00 0.00 4/8 CSV#initialize 1565
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Hash#merge
    0.00 0.00 0.00 0.00 8/8 Kernel#initialize_dup
    0.00 0.00 0.00 0.00 8/12 <Class::Hash>#allocate
    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/12 Class#new
    0.00 0.00 0.00 0.00 8/12 Hash#merge
0.00% 0.00% 0.00 0.00 0.00 0.00 12 <Class::Hash>#allocate
    0.00 0.00 0.00 0.00 4/8 <Class::CSV>#open 1337
    0.00 0.00 0.00 0.00 4/8 CSV#initialize 1568
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 Picky::Tokenizer#splits_text_on 80
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Module#===
    0.00 0.00 0.00 0.00 4/4 Searches#prepare 31
0.00% 0.00% 0.00 0.00 0.00 0.00 4 <Class::CSV>#open 1335
    0.00 0.00 0.00 0.00 4/54436 Kernel#block_given? 1352
    0.00 0.00 0.00 0.00 4/4 <Class::IO>#open 1342
    0.00 0.00 0.00 0.00 4/8 Hash#merge 1340
    0.00 0.00 0.00 0.00 8/120473 Class#new 1349
    0.00 0.00 0.00 0.00 4/8 Kernel#is_a? 1337
    0.00 0.00 0.00 0.00 4/4004 Array#last 1337
    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 Searches#prepare 27
    0.00 0.00 0.00 0.00 4/4 CSV#each 31
    0.00 0.00 0.00 0.00 4/4 <Class::CSV>#open 31
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize 169
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#max_words 144
    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 19
    0.00 0.00 0.00 0.00 1/1 Picky::Tokenizer#initialize 170
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Picky::Tokenizer#rejects_token_if 123
    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 35
    0.00 0.00 0.00 0.00 4/4 Global#[No method] 61
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Proc#[]
    0.00 0.00 0.00 0.00 4/120473 Class#new
    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 110
    0.00 0.00 0.00 0.00 4/8 Kernel#respond_to? 111
* indicates recursively called methods