Skip to content

Commit ce16b11

Browse files
authored
Merge pull request #137 from jqnatividad/raw_detect-perf_tweaks
`raw_detect` perf tweaks
2 parents e599339 + 25888fe commit ce16b11

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/combined/mod.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,25 @@ pub fn detect(iquery: &InternalQuery) -> Option<Info> {
3333

3434
// TODO: optimize!
3535
pub fn raw_detect(iquery: &InternalQuery) -> RawOutcome {
36-
let alphabet_raw_outcome = alphabets::raw_detect(iquery);
37-
let trigram_raw_outcome = trigrams::raw_detect(iquery);
36+
let alphabet_raw_outcome: alphabets::RawOutcome = alphabets::raw_detect(iquery);
37+
let trigram_raw_outcome: trigrams::RawOutcome = trigrams::raw_detect(iquery);
3838

39-
let alphabet_scores = &alphabet_raw_outcome.scores;
40-
let trigram_scores = &trigram_raw_outcome.scores;
39+
let alphabet_scores: &Vec<(Lang, f64)> = &alphabet_raw_outcome.scores;
40+
let trigram_scores: &Vec<(Lang, f64)> = &trigram_raw_outcome.scores;
4141

4242
let mut all_langs: Vec<Lang> = alphabet_scores.iter().map(|x| x.0).collect();
43-
trigram_scores.iter().for_each(|(lang, _)| {
43+
for (lang, _) in trigram_scores.iter() {
4444
if !all_langs.contains(lang) {
4545
all_langs.push(*lang);
4646
}
47-
});
47+
}
4848

4949
let count = alphabet_raw_outcome.count;
5050

5151
let alphabet_weight = calc_alphabet_weight(count);
5252
let trigram_weight = 1.0 - alphabet_weight;
5353

54-
let mut scores = vec![];
54+
let mut scores = Vec::with_capacity(all_langs.len());
5555

5656
for lang in all_langs {
5757
let a: f64 = alphabet_scores

0 commit comments

Comments
 (0)