tfussell / xlnt

:bar_chart: Cross-platform user-friendly xlsx library for C++11+
Other
1.45k stars 406 forks source link

Improve read and write performance umbrella issue #648

Open tfussell opened 2 years ago

tfussell commented 2 years ago

There have been several users reporting performance problems over the years. I believe the current data structure for cells involving a vector of structs containing cell data and a hash map of cell references pointing to those cell structs is the cause of these problems. Some ideas for improving it:

The solution will require deciding on which factors are most important: read speed, write speed, insert speed, etc, writing benchmarks for these factors, and implementing it in the code.

Blakjak88 commented 2 years ago

Are there any unintentional copies of the data structures being made in the code that could be quickly eating memory and ultimately slowing stuff down?

As I have never come across such poor performance so far in my use of xlnt, do you have an example of a such an xlsx file that I could use to take a look at the code? Or a method to generate one?