run cargo flamegraph --test integration_test -- read_large_string
the result show that (1) umya_spreadsheet::helper::coordinate::index_from_coordinate and (2) umya_spreadsheet::structs::cells::Cells::set_fast are the main time consumers.
(1) is related to regex and format.
(2) hashbrown::raw::RawTable<T,A>::reserve_rehash is the main time consumer. set the capacity of the HashMap properly can improve the speed. If there is a way to read the total cells in the worksheet in advance, it will be the best.
run cargo flamegraph --test integration_test -- read_large_string the result show that (1) umya_spreadsheet::helper::coordinate::index_from_coordinate and (2) umya_spreadsheet::structs::cells::Cells::set_fast are the main time consumers.
(1) is related to regex and format. (2) hashbrown::raw::RawTable<T,A>::reserve_rehash is the main time consumer. set the capacity of the HashMap properly can improve the speed. If there is a way to read the total cells in the worksheet in advance, it will be the best.