You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment, any sort of filter operation where rows are (iterated in any order) and then deleted is very slow.
This is mainly due to the fact that the entire Row slice is copied for each RemoveRow operation.
Modifying the Row slice directly (ie filtering in-place) is fast. However there is no public interface to access this slice, it is accessed by the private method workSheetReader.
Could workSheetReader be made public? I realize the R value needs to be updated to reflect the row number and this could be confusing to users of the API but this could be documented and I think the performance gains are worth it.
Alternatively could a 'Rows' struct be created with methods for slicing, appending 'Row' objects?
Then you can check that the rows have proper R values.
Here is an example interface, (the types can just be a struct).
At the moment, any sort of filter operation where rows are (iterated in any order) and then deleted is very slow.
This is mainly due to the fact that the entire Row slice is copied for each RemoveRow operation.
Modifying the Row slice directly (ie filtering in-place) is fast. However there is no public interface to access this slice, it is accessed by the private method workSheetReader.
Could workSheetReader be made public? I realize the R value needs to be updated to reflect the row number and this could be confusing to users of the API but this could be documented and I think the performance gains are worth it.
Alternatively could a 'Rows' struct be created with methods for slicing, appending 'Row' objects?
Then you can check that the rows have proper R values.
Here is an example interface, (the types can just be a struct).
I can knock something together and create a pull request if you like.
The text was updated successfully, but these errors were encountered: