精确预分配按股行情分组
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user