Is your feature request related to a problem? Please describe.
I'm working with file size of 11MB, it took about 18 minutes just to load it. "Formulas.ExcelModel().loads(path)"
Describe the solution you'd like
Improve the load time - it can be similar to "modin" package improvements to "pandas" which split DF over multi process (over Ray)
Example for load time from iPython code snippet:
In [2]: import formulas
...: import time
...:
...: def formula_action(path):
...: load_start_time = time.time()
...: xl_model = formulas.ExcelModel().loads(path).finish()
...: load_end_time = time.time()
...: calc_start_time = time.time()
...: xl_model.calculate()
...: calc_end_time = time.time()
...: xl_model.write(dirpath=".")
...: print(f"Save {path} - load time: {load_end_time - load_start_time}, calculate time: {calc_end_time - calc_start_time}")
...:
In [3]: formula_action("ExcelFile.xlsx")
Save ExcelFile.xlsx.xlsx - load time: 1099.066421031952, calculate time: 455.0138669013977
Is your feature request related to a problem? Please describe.
I'm working with file size of 11MB, it took about 18 minutes just to load it. "Formulas.ExcelModel().loads(path)"
Describe the solution you'd like
Improve the load time - it can be similar to "modin" package improvements to "pandas" which split DF over multi process (over Ray)
Example for load time from iPython code snippet:
In [2]: import formulas
...: import time
...:
...: def formula_action(path):
...: load_start_time = time.time()
...: xl_model = formulas.ExcelModel().loads(path).finish()
...: load_end_time = time.time()
...: calc_start_time = time.time()
...: xl_model.calculate()
...: calc_end_time = time.time()
...: xl_model.write(dirpath=".")
...: print(f"Save {path} - load time: {load_end_time - load_start_time}, calculate time: {calc_end_time - calc_start_time}")
...:
In [3]: formula_action("ExcelFile.xlsx")
Save ExcelFile.xlsx.xlsx - load time: 1099.066421031952, calculate time: 455.0138669013977