- changed status to open
Question regarding XSLX Performance issues
Hey all,
First of thank you every much for looking at this issue and maintaining the Okapi Framework!
Now I was debugging a issue with a 15MB xslx file (sorry can’t share it) and noticed during profiling that this.stringItems.get
in SharedStrings.java was taking forever to get a single item.
I did a quick MonkeyPath to replace the new LinkedList<>()
on line 85 with a new java.util.ArrayList()
this really increased the speed from over 15 minutes (after which I aborted the run) to around 20 seconds for my simple timeline.
Now I was wondering if there was a specific reason for using a LinkedList
or if this could be changed to some other list to improve performance?
Looking forward to your answer and have a great weekend!
Comments (5)
-
-
- changed milestone to 1.46.0
-
reporter Hey Jim,
So https://www2.gov.bc.ca/assets/gov/bc-procurement-resources/bc-bid-guides/unspsc_v250901_updated-excel-version_27-feb-2023.xlsx is an example where you can clearly see that the
this.stringItems.get
is an issue.Cheers,
Warnar -
reporter So I opened https://bitbucket.org/okapiframework/okapi/pull-requests/769 which contains the patches that I have applied to Okapi to improve the performance a bit.
Sadly I didn’t find a benchmark method in Okapi Framework so proving the improvements was not really possible, -
- changed status to resolved
Partially resolved with https://bitbucket.org/okapiframework/okapi/pull-requests/769
- Log in to comment
That is very interesting! We should do a profile to see if there are any other bottlenecks.