From bab4d47b46e52fd884da4ee10fa0bcac81b0b795 Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 9 Sep 2026 09:48:41 +0800 Subject: [PATCH] revert: remove ineffective borrowed factor key optimization --- crates/fidc-core/src/platform_expr_strategy.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/crates/fidc-core/src/platform_expr_strategy.rs b/crates/fidc-core/src/platform_expr_strategy.rs index 2b3ff11..eca604f 100644 --- a/crates/fidc-core/src/platform_expr_strategy.rs +++ b/crates/fidc-core/src/platform_expr_strategy.rs @@ -13,7 +13,7 @@ use crate::data::EligibleUniverseSnapshot; use crate::data::{ BACKWARD_ADJUSTMENT_FACTOR_FIELD, CandidateEligibility, DailyFactorSnapshot, DailyMarketSnapshot, DailySnapshotView, DataSet, PriceField, decision_free_float_cap_bn, - NumericFactorMap, decision_market_cap_bn, + decision_market_cap_bn, }; use crate::engine::BacktestError; use crate::events::OrderSide; @@ -954,7 +954,7 @@ struct StockExpressionState { stock_volume_ma60: f64, stock_volume_ma100: f64, current_series_end: Option, - extra_factors: NumericFactorMap, + extra_factors: BTreeMap, extra_text_factors: BTreeMap, } @@ -4767,7 +4767,7 @@ impl PlatformExprStrategy { self.stock_extra_factor_map_required || self.stock_extra_factor_identifiers.contains(field.as_ref()) }) - .map(|(field, value)| (field.clone(), *value)) + .map(|(field, value)| (field.to_string(), *value)) .collect() } else { BTreeMap::new() @@ -4785,7 +4785,7 @@ impl PlatformExprStrategy { .and_then(|row| row.extra_factors.get(field.as_str())) .copied() .unwrap_or(f64::NAN); - extra_factors.insert(field.clone().into(), value); + extra_factors.insert(field.clone(), value); } } } @@ -4796,10 +4796,7 @@ impl PlatformExprStrategy { .contains(BACKWARD_ADJUSTMENT_FACTOR_FIELD)) && let Some(value) = factor.adjustment_factor_backward1 { - extra_factors.insert( - std::borrow::Cow::Borrowed(BACKWARD_ADJUSTMENT_FACTOR_FIELD), - value, - ); + extra_factors.insert(BACKWARD_ADJUSTMENT_FACTOR_FIELD.to_string(), value); } let state = StockExpressionState {