精确预分配按股行情分组

This commit is contained in:
boris
2026-09-07 13:57:12 +08:00
parent fbf5a6d61a
commit 9714c051c5
+8 -2
View File
@@ -4513,8 +4513,14 @@ fn group_rows_by_symbol_id<'a, T>(
symbol_ids_by_date: &BTreeMap<NaiveDate, Vec<u32>>,
symbol_count: usize,
) -> Result<Vec<Vec<&'a T>>, DataSetError> {
let mut rows_by_symbol_id = (0..symbol_count)
.map(|_| Vec::<&T>::new())
let mut row_counts_by_symbol_id = vec![0usize; symbol_count];
for symbol_id in symbol_ids_by_date.values().flatten() {
row_counts_by_symbol_id[*symbol_id as usize] =
row_counts_by_symbol_id[*symbol_id as usize].saturating_add(1);
}
let mut rows_by_symbol_id = row_counts_by_symbol_id
.into_iter()
.map(Vec::<&T>::with_capacity)
.collect::<Vec<_>>();
for (date, rows) in groups {
let symbol_ids = symbol_ids_by_date