Hi
There is room for performance improvements in ClosedXML.
To create a performance base line I updated the sandbox example in the branch https://closedxml.codeplex.com/SourceControl/network/forks/AlbinSunnanbo/closedxml?branch=Performance_Example to create a Excel document similar to our production code
(See change set https://closedxml.codeplex.com/SourceControl/network/forks/AlbinSunnanbo/closedxml/changeset/6aedcc8946cc210a4f81224f8e65f2f4feb0ee10 )
I created a pull request with some low hanging fruit fixes: https://closedxml.codeplex.com/SourceControl/network/forks/AlbinSunnanbo/closedxml/contribution/8065
Before the pull request the execution time on my computer was 9.8 seconds, with the pull request applied the execution time was 6.7 seconds. That's an overall 30% improvement on a generate + save cycle.
I have some further fixes in the works, I'll add comments to this issue when the are ready.
// Albin Sunnanbo @ Kentor
Comments: More low hanging fruit: cell.IsMerged doesn't cast to range now. https://closedxml.codeplex.com/SourceControl/changeset/ad7bfc93620a1b0fee59fb0689ab4a7d27ea58c1
There is room for performance improvements in ClosedXML.
To create a performance base line I updated the sandbox example in the branch https://closedxml.codeplex.com/SourceControl/network/forks/AlbinSunnanbo/closedxml?branch=Performance_Example to create a Excel document similar to our production code
(See change set https://closedxml.codeplex.com/SourceControl/network/forks/AlbinSunnanbo/closedxml/changeset/6aedcc8946cc210a4f81224f8e65f2f4feb0ee10 )
I created a pull request with some low hanging fruit fixes: https://closedxml.codeplex.com/SourceControl/network/forks/AlbinSunnanbo/closedxml/contribution/8065
Before the pull request the execution time on my computer was 9.8 seconds, with the pull request applied the execution time was 6.7 seconds. That's an overall 30% improvement on a generate + save cycle.
I have some further fixes in the works, I'll add comments to this issue when the are ready.
// Albin Sunnanbo @ Kentor
Comments: More low hanging fruit: cell.IsMerged doesn't cast to range now. https://closedxml.codeplex.com/SourceControl/changeset/ad7bfc93620a1b0fee59fb0689ab4a7d27ea58c1