A client contacted us about some performance problems with our MBS Xojo XL Plugin. Writing 5000 rows into Excel documents takes some time. Looking into a test project, we found that conversion from UTF-8 to UTF-16 or UTF-32 takes most of the time in the whole process. Text encoding conversion needed about 70% of the processing time.
Luckily we found a way to speed up the text encoding conversion and the results are phenomenal. For the client, we got time down from 195 seconds to 80 seconds. The improvements are solely due to optimized text encoding handling.
We did some measurements here with our own test projects:
512000 calls for WriteString method in XLSheetMBS take about 15.9 seconds with old plugin (21.0), but only 4 seconds for newer plugin (21.1). The effect shows well here as text is just added to internal data structures.
The same 512000 calls send to WriteText method in DynaPDFMBS reduce from about 28.6 down to 24.9 seconds. Here the encoding for text to PDF encoding takes more time than our encoding conversion.
This changes will come with 21.1pr1 to be tested by you all. Please do not hesitate to contact us with your questions.
And if you have ideas for other areas where we could improve performance, please let us know.