Skip to content

Commit c3f1aee

Browse files
authored
Merge pull request #1230 from ccppjsrb/#1195-fix-update_language_count
update_language_countの速度改善
2 parents 20e7f73 + ded1cd0 commit c3f1aee

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

atcoder-problems-backend/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

atcoder-problems-backend/sql-client/src/language_count.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ impl LanguageCountClient for PgPool {
3636
submissions: &[Submission],
3737
current_counts: &[UserLanguageCount],
3838
) -> Result<()> {
39+
let mut simplified_languages = BTreeMap::new();
3940
let mut language_count = submissions
4041
.iter()
4142
.map(|s| {
@@ -48,8 +49,10 @@ impl LanguageCountClient for PgPool {
4849
.fold(
4950
BTreeMap::new(),
5051
|mut map, (user_id, problem_id, language)| {
51-
let simplified_language = simplify_language(language);
52-
map.entry((user_id, simplified_language))
52+
let simplified_language = simplified_languages
53+
.entry(language)
54+
.or_insert_with(|| simplify_language(language));
55+
map.entry((user_id, simplified_language.to_string()))
5356
.or_insert_with(BTreeSet::new)
5457
.insert(problem_id);
5558
map

0 commit comments

Comments
 (0)