vallettea / koala

Transpose your Excel calculations into python for better performances and scaling.
GNU General Public License v3.0
144 stars 59 forks source link

Speed improvements #204

Closed danielsjf closed 5 years ago

danielsjf commented 5 years ago

This commit drastically improves speed for large excels with many ranges of the style 1:1 or A:A.

It implements caching of some functions that are very frequently called but are actually quite expensive. An example is find_corresponding_index. When the inputs are the same (the value list) and the criterion is the same, logically it should return the same value.

The overhead of this caching is almost, but it can have a huge positive effect. For one of my larger test files, the calculation time went from 30s to less than 3s.

danielsjf commented 5 years ago

@vallettea, @brianmay, this one can be merged.