Hi
We have encountered a performance problem with the PivotTable when refreshing data on large Excel sheets.
The behaviour is reproduced in the attached sample application.
To run the application
- unzip the attached file
- open the AsposeRefreshPivotTest.sln
- Open the LicenseHandler.cs file and insert contents of a valid Aspose licens in the variable LICENSEFILE - look for “INSERT LICENSE HERE”
- and build in Visual Studio.
Start the application and push the button.
It takes almost (on my machine) 70 seconds to refresh the data.
A performance profiler trace from Ants reveals almost 1.700.000.000 calls to pivotItem.get_Value - and the double 3.600.000.000 calls to ArrayList.get_Item - being responsible for most of the time.
It might not be exactly where it takes time, as profiler traces may introduce noticable overhead in low-level methods though. In a trace with smaller overhead the get_Value was only responsible for 15% of the time - and an obfuscated parent method used the remaining time.
Will you please examine, and verify you can reproduce it using the sample - and indicate whether or not this is something you expect to be able to fix?
I’ve tested using december 2016 release of Aspose.Cells.
Best regards
/Anders