PhpSpreadsheet
PhpSpreadsheet copied to clipboard
Decrease memory consumption for 1.18.0
This is:
- [x] improvement
Checklist:
- [x] Code style is respected
- [x] Commit message explains why the change is made (see https://github.com/erlang/otp/wiki/Writing-good-commit-messages)
Why this change is needed?
On write large tables (500k rows x 20+ cols) PhpSpreadsheet fails on extra memory allocation (checked on max_memory = 4G) With that PR we got:
- stringTable now use temporary file
- stringTable store inverted index in cache
- cells index rewrite for use 4-bytes blocks and Generator instead in-memory
- rewrite getHighest* methods in Cells
- XMLWriter now return resource instead file content when used STORAGE_DISK
Can fix #2107
Any progress on this PR?
@gilberg-vrn I opened #2529 with your changes from Cells. Put you as author of the commit. Please let me know if I should close it or whatever 🙂