Perf: prevent double "home_deck" read

This commit is contained in:
Luc Mcgrady 2025-11-02 22:22:35 +00:00
parent ba5d8e4579
commit 0e3089d7a8
No known key found for this signature in database
GPG key ID: 4F3D7A0B17CC3D9C

View file

@ -443,13 +443,16 @@ impl Collection {
.storage
.get_deck(card.deck_id)?
.or_not_found(card.deck_id)?;
let config = self.home_deck_config(deck.config_id(), card.original_deck_id)?;
let original_deck = self
let home_deck = self
.storage
.get_deck(card.original_or_current_deck_id())?
.or_not_found(card.original_or_current_deck_id())?;
let config = self
.storage
.get_deck_config(home_deck.config_id().or_invalid("home deck is filtered")?)?
.unwrap_or_default();
let desired_retention = original_deck.effective_desired_retention(&config);
let desired_retention = home_deck.effective_desired_retention(&config);
let fsrs_enabled = self.get_config_bool(BoolKey::Fsrs);
let fsrs_next_states = if fsrs_enabled {
let params = config.fsrs_params();